VB.Net LibreOffice SDK 示例

VB.Net example for LibreOffice SDK

WriterDemo example uses VB.NET to interact with the UNO API. (The files are also included with the SDK 下载在 file:///C:/Program Files/LibreOffice 5/sdk/examples/CLI/VB.NET/WriterDemo/.)

构建和运行,我根据https://api.libreoffice.org/docs/install.html设置命令行环境,然后使用make WriterDemo.run执行Makefile。但它在这条线上崩溃了:

xContext = Bootstrap.bootstrap()

错误信息:

Unhandled Exception: System.Runtime.InteropServices.SEHException: External component has thrown an exception.
   at cppu.bootstrap(Reference<com::sun::star::uno::XComponentContext>* )
   at uno.util.Bootstrap.bootstrap()
   at WriterDemo.Main()
make: *** [WriterDemo.run] Error -1066598274

这是问题 Equivalent of Microsoft.Office.Interop.Excel for Open Office and/or Libre Office for VB.NET/Visual Studio 2017 的跟进。

使用 Visual Studio 而不是 Makefile。

  • 启动一个新的 Visual Basic 控制台应用程序。
  • 将 WriterDemo.vb 中的代码粘贴到 Module1.vb 中。在解决方案资源管理器中右键单击文件,将 Module1.vb 重命名为 WriterDemo.vb。
  • 在项目属性中,将启动对象更改为 WriterDemo
  • 右键单击“引用”并选择“添加引用”。浏览至 SDK 中的 cli 文件夹,例如 C:\Program Files (x86)\LibreOffice 5\sdk\cli。 (GAC 中的文件对我不起作用。)
  • Select 该文件夹中的所有 5 个文件,然后按添加。然后确保在他们的每个框中都有一个复选标记。
  • 修改 App.config 以解决加载问题 here
  • 为避免警告,请将处理器架构设置为 x86,如 here 所述。
  • 可能也有必要 set UNO_PATH,尽管我没有这样做也很有效。

现在按工具栏中的 Start(或调试 -> 开始调试)。如果一切顺利,它将启动 LibreOffice 并将一些内容插入 Writer。

描述 VB 2005 年的旧示例位于 https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=21494

感谢@Zev Spitz 的提示和更正。