Wie ist es möglich in VBA-Umgebung die OpenOffice.Application aufzurufen ?
Code: Alles auswählen
Sub Makro4()
'Achtung VBA-Code
Dim Ergebnis
Ergebnis = Shell("C:\Programme\StarOffice7\program\soffice.exe", 1)
End Sub
Ich bezweifle jedoch das Du das willst.
und wie ist es noch möglich diese Application folgende Parametern :
(z.b [Name]
[Vorname]
[Adresse]...usw.)
(übrigens diese Parametern gehören einer CRM-System)
zu übergeben.
garnicht.
soffice.exe aktzeptiert ausschließlich folgende Parameter:
-help / -h / -?
Listet die verfügbaren Kommandozeilenparameter in einem Dialogfeld auf. -help zeigt einen ausführlichen Hilfetext an, -h einen kurzen.
-writer
Startet mit einem leeren Writer-Dokument.
-calc
Startet mit einem leeren Calc-Dokument.
-draw
Startet mit einem leeren Draw-Dokument.
-impress
Startet mit einem leeren Impress-Dokument.
-math
Startet mit einem leeren Math-Dokument.
-global
Startet mit einem leeren globalen Dokument.
-web
Startet mit einem leeren HTML-Dokument.
-minimized
Startet minimiert. Der Begrüßungsbildschirm wird nicht angezeigt.
-invisible
Startet im unsichtbaren Modus.
-norestore
Deaktiviert Neustart und Datei-Wiederherstellung nach einem Systemabsturz.
-quickstart
Aktiviert den Schnellstarter. Der Begrüßungsbildschirm wird nicht angezeigt.
-terminate_after_init
Registriert einige UNO-Dienste und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-accept={UNO string}
Benachrichtigt OpenOffice.org, dass bei der Erzeugung von "UNO Acceptor Threads" ein "UNO Accept String" verwendet wird.
-userid={user id}
Legt ein Benutzerverzeichnis fest, das statt der Daten der Dateien soffice.ini, bootstrap.ini und sversion.ini verwendet wird.
-p {filename1} {filename2} ...
Druckt die Dateien {filename1} {filename2} ... auf dem Standarddrucker und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-pt {Printername} {filename1} {filename2} ...
Druckt die Dateien {filename1} {filename2} ... auf dem Drucker {printername} und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-o {filename}
Öffnet {filename} zum Bearbeiten, auch wenn es sich um eine Dokumentvorlage handelt.
-view {filename}
Erzeugt eine temporäre Kopie von {filename} und öffnet sie schreibgeschützt.
-n {filename}
Erzeugt ein neues Dokument unter Verwendung von {filename} als Dokumentvorlage.
-nologo
Deaktiviert den Begrüßungsbildschirm bei Programmstart.
-display {display}
Setzt die Umgebungsvariable DISPLAY auf UNIX-Plattformen auf den Wert {display}. Dieser Parameter wird nur vom Startscript für OpenOffice.org auf UNIX-Plattformen unterstützt.
-headless
Startet im "führungslosen Modus", der es ermöglicht die Anwendung ohne Benutzeroberfläche zu verwenden.
Aber wie gesagt, ich bezweifle das Du das willst wonach Du fragst.
Wahrscheinlich willst Du OOo fernsteuern, das geht z.B. so:
Code: Alles auswählen
Sub test()
' Demo zur Fersteuerung OpenOffice
' ACHTUNG VBA-Code
'
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
Dim aNoArgs()
Set oDoc = oDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, aNoArgs())
Set Cursor = oDoc.Text.createTextCursor()
Cursor.String = "Nur ein Test."
Call oDoc.storeToURL("file:///D:/doc.sxw", aNoArgs())
oDoc.Close (True)
End Sub
Der Code öffnet ein leeres Textdokument, trägt einen Satz sein, speichert das Dokument und schließt es.
Naja und ganz analog kannst Du nun einen Code schreiben der sinnvoll das verwendet was Du als Parameter bezeichnest. Da müßte man nur wissen was erreicht werden soll.
Das Du von einer Software die MS Office "ansteuert" ohne Weiteres OOo steuern kannst bin ich aber keineswegs sicher, oder sollte ich diesem Satz entnehmen das Du das schon hingekriegt hast:
bis jetzt habe ich es mit VBA hingekriegt, dass ich aus ein CRM ein leere OOo-Dokument öffne
Gruß
Stephan
[quote]Wie ist es möglich in VBA-Umgebung die OpenOffice.Application aufzurufen ?[/quote]
[code]Sub Makro4()
'Achtung VBA-Code
Dim Ergebnis
Ergebnis = Shell("C:\Programme\StarOffice7\program\soffice.exe", 1)
End Sub[/code]
Ich bezweifle jedoch das Du das willst.
[quote]und wie ist es noch möglich diese Application folgende Parametern :
(z.b [Name]
[Vorname]
[Adresse]...usw.)
(übrigens diese Parametern gehören einer CRM-System)
zu übergeben.[/quote]
garnicht.
soffice.exe aktzeptiert ausschließlich folgende Parameter:
-help / -h / -?
Listet die verfügbaren Kommandozeilenparameter in einem Dialogfeld auf. -help zeigt einen ausführlichen Hilfetext an, -h einen kurzen.
-writer
Startet mit einem leeren Writer-Dokument.
-calc
Startet mit einem leeren Calc-Dokument.
-draw
Startet mit einem leeren Draw-Dokument.
-impress
Startet mit einem leeren Impress-Dokument.
-math
Startet mit einem leeren Math-Dokument.
-global
Startet mit einem leeren globalen Dokument.
-web
Startet mit einem leeren HTML-Dokument.
-minimized
Startet minimiert. Der Begrüßungsbildschirm wird nicht angezeigt.
-invisible
Startet im unsichtbaren Modus.
-norestore
Deaktiviert Neustart und Datei-Wiederherstellung nach einem Systemabsturz.
-quickstart
Aktiviert den Schnellstarter. Der Begrüßungsbildschirm wird nicht angezeigt.
-terminate_after_init
Registriert einige UNO-Dienste und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-accept={UNO string}
Benachrichtigt OpenOffice.org, dass bei der Erzeugung von "UNO Acceptor Threads" ein "UNO Accept String" verwendet wird.
-userid={user id}
Legt ein Benutzerverzeichnis fest, das statt der Daten der Dateien soffice.ini, bootstrap.ini und sversion.ini verwendet wird.
-p {filename1} {filename2} ...
Druckt die Dateien {filename1} {filename2} ... auf dem Standarddrucker und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-pt {Printername} {filename1} {filename2} ...
Druckt die Dateien {filename1} {filename2} ... auf dem Drucker {printername} und beendet. Der Begrüßungsbildschirm wird nicht angezeigt.
-o {filename}
Öffnet {filename} zum Bearbeiten, auch wenn es sich um eine Dokumentvorlage handelt.
-view {filename}
Erzeugt eine temporäre Kopie von {filename} und öffnet sie schreibgeschützt.
-n {filename}
Erzeugt ein neues Dokument unter Verwendung von {filename} als Dokumentvorlage.
-nologo
Deaktiviert den Begrüßungsbildschirm bei Programmstart.
-display {display}
Setzt die Umgebungsvariable DISPLAY auf UNIX-Plattformen auf den Wert {display}. Dieser Parameter wird nur vom Startscript für OpenOffice.org auf UNIX-Plattformen unterstützt.
-headless
Startet im "führungslosen Modus", der es ermöglicht die Anwendung ohne Benutzeroberfläche zu verwenden.
Aber wie gesagt, ich bezweifle das Du das willst wonach Du fragst.
Wahrscheinlich willst Du OOo fernsteuern, das geht z.B. so:
[code]Sub test()
' Demo zur Fersteuerung OpenOffice
' ACHTUNG VBA-Code
'
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
Dim aNoArgs()
Set oDoc = oDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, aNoArgs())
Set Cursor = oDoc.Text.createTextCursor()
Cursor.String = "Nur ein Test."
Call oDoc.storeToURL("file:///D:/doc.sxw", aNoArgs())
oDoc.Close (True)
End Sub[/code]
Der Code öffnet ein leeres Textdokument, trägt einen Satz sein, speichert das Dokument und schließt es.
Naja und ganz analog kannst Du nun einen Code schreiben der sinnvoll das verwendet was Du als Parameter bezeichnest. Da müßte man nur wissen was erreicht werden soll.
Das Du von einer Software die MS Office "ansteuert" ohne Weiteres OOo steuern kannst bin ich aber keineswegs sicher, oder sollte ich diesem Satz entnehmen das Du das schon hingekriegt hast:
[quote]bis jetzt habe ich es mit VBA hingekriegt, dass ich aus ein CRM ein leere OOo-Dokument öffne[/quote]
Gruß
Stephan