OO-Programmierung in VBA-Umgebung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: OO-Programmierung in VBA-Umgebung

schade

von plasma » Mo, 28.11.2005 15:53

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

Re: OO-Programmierung in VBA-Umgebung

von plasma » Do, 24.11.2005 11:21

dann schau dir meinen Eintrag in dem Thread an....
Grüsse

Re: OO-Programmierung in VBA-Umgebung

von hol.sten » Mi, 23.11.2005 19:01

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

serienbriefe

von plasma » Mi, 23.11.2005 17:14

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

von Stephan » So, 03.04.2005 20:07

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

OO-Programmierung in VBA-Umgebung

von abenazza » So, 03.04.2005 18:21

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

Nach oben