OO-Programmierung in VBA-Umgebung

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

abenazza
Beiträge: 1
Registriert: So, 03.04.2005 17:55

OO-Programmierung in VBA-Umgebung

Beitrag von abenazza »

Grüsse euch alle!

Ich benutze momentann OOo besonders für Serienbriefe und andere Sachen.
ich teste momentann ein CRM-Demo-Version .Ssoviel ich weiss benutzen alle CRM-Systeme als Standart nur Word oder eigene Textverarbeitungssystem.
Ich möchte aber gerne weiter mit Open.Office.org arbeiten und Serienbriefe, Fax..usw benutzen.
Um das nutzen zu können muss mann die Schnittstelle zwischen OOo und CRM-System programmieren.

bis jetzt habe ich es mit VBA hingekriegt, dass ich aus ein CRM ein leere OOo-Dokument öffne. Ich möchte weiter die OOo.Application aufrufen und bestimmte Parametern übergeben, um endlich OO- Vorlagen für Serienbrief zu benutzen.

meine Fragen sind:

1) Wie ist es möglich in VBA-Umgebung die OpenOffice.Application aufzurufen ?

2) 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.


das wäre sehr schön, wenn ich hier eine Antwort hier kriege.

ok bis dann
und viel spass
abenazza
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

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
plasma
*
Beiträge: 12
Registriert: Fr, 18.11.2005 11:31

serienbriefe

Beitrag von plasma »

an abenazza:
hast du die Datenquellenanbindung für den Seriendruck schon unter vba hin bekommen? Falls ja, könntest du den Code posten? Danke
Grüsse
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: OO-Programmierung in VBA-Umgebung

Beitrag von hol.sten »

abenazza hat geschrieben:1) Wie ist es möglich in VBA-Umgebung die OpenOffice.Application aufzurufen ?
Das Thema wurde z. B. schon hier viewtopic.php?t=4572 diskutiert.

With kind regards
hol.sten
plasma
*
Beiträge: 12
Registriert: Fr, 18.11.2005 11:31

Re: OO-Programmierung in VBA-Umgebung

Beitrag von plasma »

dann schau dir meinen Eintrag in dem Thread an....
Grüsse
plasma
*
Beiträge: 12
Registriert: Fr, 18.11.2005 11:31

schade

Beitrag von plasma »

und somit scheitert ein Versuch nach ooorg zu migrieren :cry:
m$ scheint bei serienbriefen doch das haus zu rocken :x
grüsse
Antworten