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)