> From: Peter Eberlein [mailto:pet.ebe@refofd.verwalt-berlin.de]
> because aoo cannot open all Word docs without crashing
> (https://issues.apache.org/ooo/show_bug.cgi?id=125419), I
> wanted to let
> do WinWord the job.
>
> I need to know the names of all bookmarks.
> So StarBasic looks like this:
>
> wordInstance = CreateObject("Word.Application")
> wordDoc = wordInstance.documents.open("c:\test.docx")
> For i = 1 To wordDoc.Bookmarks.Count
> bookmark = doc.Bookmarks(i)
> msgbox bookmark.Name 'fails
> 'if the property has arguments:
> msgbox bookmark.hasProperty("Name") 'false [1]
> msgbox bookmark.getValue("Name") 'property not supported
> next
>
>
>
>
> Any idea how to get the bookmarks name?
> I think "Name" is a key word and can not be used in StarBasic.
".Name" Is imho correctly. I do not know where the problem comes, I think there is
perhaps bug in the automation bridge of OO.
You can try the following:
Sub main( )
oleService = createUnoService("com.sun.star.bridge.OleObjectFactory")
WSH= oleService.createInstance("MSScriptControl.ScriptControl")
WSH.Language = "VBScript"
vbs=vbs+"Set objWord = CreateObject(""Word.Application"")"+Chr(10)
vbs=vbs+"objWord.Visible = True"+Chr(10)
vbs=vbs+"Set objDoc = objWord.Documents.Open(""D:\testdokument2.doc"")"+Chr(10)
vbs=vbs+"Set xx = objDoc.Bookmarks"+Chr(10)
vbs=vbs+"xxx = xx.Count"+Chr(10)
vbs=vbs+"For i = 1 To xxx"+Chr(10)
vbs=vbs+"k = k & xx(i).Name & CHR(13)"+Chr(10)
vbs=vbs+"Next"
WSH.ExecuteStatement(vbs)
msgbox WSH.CodeObject.k
End Sub
Greetings,
Jörg
P.S.
@Peter
Mir fiel Dein Name gleich ins Auge und die Domain "verwalt-berlin.de" ist ja heute
noch Dieselbe wie vor 10 Jahren, denn ich habe nachgesehen und von Dir einen
Code-Schnipsel von November 2011 in meiner Sammlung der damals noch über die
users-Liste von de-ooo kam.
---------------------------------------------------------------------
To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
For additional commands, e-mail: api-help@openoffice.apache.org
|