Как заменить содержимое окна документа OpenOffice / Win32 Документированное решение не работает? - PullRequest
0 голосов
/ 09 января 2011

Я использую 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 Ответ

0 голосов
/ 17 января 2011

После прочтения нескольких примеров сценариев я попытался установить имя славы вручную:

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

Хотя использование loadComponentFromURL, по-видимому, не меняет имя фрейма, использование setName действительно меняет имя фрейма, поэтому после первого вызова loadComponentFromURL я изменил фрейм с помощью setName, и теперь он работает так, как ожидалось

...