如何替换 OpenOffice 文档窗口/Win32 的内容 记录的解决方案不起作用?

Posted

技术标签:

【中文标题】如何替换 OpenOffice 文档窗口/Win32 的内容 记录的解决方案不起作用?【英文标题】:How to replace the Content of the OpenOffice Document Window/Win32 The documented solution not working? 【发布时间】:2011-01-08 22:35:21 【问题描述】:

我正在使用 OO 3.0,根据官方 openoffice 文档 (http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/StarDesktop) 来替换文档,这是所需的代码:

Dim Doc As Object
Dim Dummy() 
Dim Url As String
Dim SearchFlags As Long

SearchFlags = com.sun.star.frame.FrameSearchFlag.CREATE + _
              com.sun.star.frame.FrameSearchFlag.ALL
Url = "file:///C:/test.odt"
Doc = StarDesktop.loadComponentFromURL(Url, "MyFrame", SearchFlags, Dummy)
MsgBox "Press OK to display the second document."

Url = "file:///C:/test2.odt"
Doc = StarDesktop.loadComponentFromURL(Url, "MyFrame", SearchFlags, Dummy)

我试过了,还是不行,VB和OO Basic都试过了 我错过了什么? (我使用所有标志 23+8 甚至 55 作为搜索标志掩码)

【问题讨论】:

【参考方案1】:

阅读更多示例脚本后,我尝试手动设置名声:

vFrame = ThisComponent.CurrentController.Frame 
REM Here we set the frame name manually 
vFrame.setName("MyFrame") 

虽然使用 loadComponentFromURL 似乎不会更改框架名称,但使用 setName 确实会更改框架名称,因此在第一次调用 loadComponentFromURL 后,我使用 setName 更改了框架,从现在开始它按预期工作

【讨论】:

以上是关于如何替换 OpenOffice 文档窗口/Win32 的内容 记录的解决方案不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

openoffice writer java sdk替换writer文档中的文本

如何使用 PyUNO 和 OpenOffice 设置文本背景颜色

OpenOffice Draw 宏查找替换文本

OpenOffice,将文档写入 servlet 响应

如何使用 PyUNO 和 OpenOffice 编写器获取文本坐标

OpenOffice.org 关闭后如何重新连接?