Как заменить содержимое окна документа OpenOffice/Win32 Документированное решение не работает?

Я использую 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 в качестве маски флагов поиска)


person Roeya    schedule 08.01.2011    source источник


Ответы (1)


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

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

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

person Roeya    schedule 16.01.2011