User:Stefanw/Tipps/Allgemein/OOo mit VBA steuern
From Apache OpenOffice Wiki
Der Inhalt dieser Seite steht unter der Lizenz Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland. Bilder und Dateien können abweichende Lizenzen haben! |
User-Bereich von Stefan Weigel |
---|
Seiten im User-Bereich:
Tipps Archiv
Seiten von Stefan im OOo-Wiki: Marketing
Makro Dokumente |
Frage von Ralf Deing auf der Users-Mailingliste:
Ich übergebe aus einer MSAccess Datenbank Werte per VBA über Platzhalter an MSWord. Nun würde ich das gleiche aber lieber an OpenOffice Writer machen. Hat jemand schon so was gemacht? Hat jemand Infos über Objektvariablen usw. So das ich das per Latebinding einbinden kann.
Beispiel einer VBA-Prozedur, die in OOo Writer ein Textdokument öffnet und dort Text hineinschreibt:
Sub test()
Dim objServiceManager As Object
Dim objDesktop As Object
Dim objDocument As Object
Dim objText As Object
Dim objCursor As Object
Dim args()
'The service manager is always the starting point
'If there is no office running then an office is started up
Set objServiceManager = CreateObject("com.sun.star.ServiceManager")
'Create the Desktop
Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")
'Open a new empty writer document
Set objDocument = objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)
'Create a text object
Set objText = objDocument.getText
'Create a cursor object
Set objCursor = objText.createTextCursor
'Inserting some Text
objText.insertString objCursor, "The first line in the newly created text document." & vbLf, False
End Sub
Weitere Info über Automation von OOo gibt es hier und beim API-Projekt von OOo.
Stefan Weigel 23:30, 5 November 2008 (CET)