OpenOffice von VB6 steuern

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: OpenOffice von VB6 steuern

OpenOffice von VB6 steuern

von Lothar » So, 20.04.2008 17:55

Ich stelle gerade eine VB6-Anwendung auf OO Writer um. Die Anwendung schreibt u.a. Serienbriefe. Aus bestimmten Gründen werden die entsprechenden Funktionen von MS Word bzw. Writer (gibts da eine, hab noch gar nicht nachgeschaut) nicht genutzt.

Nun soll der Overhead möglichst gering gehalten werden. Deshalb mache ich Folgendes:

Set oServiceManager ...
Set oDesktop ...
--> Schleife
Set oDocument = oDesktop.loadComponentFromURL ...
... ausfüllen der Vorlage
CallByName oDocument, "print", VbMethod, oArgs()
oDocument.Close True (was macht das True?)
Set oDocument = Nothing
--> Ende Schhleife
oDesktop.Close True (was macht das True?)
Set oDesktop = Nothing
oServiceManager.Quit
Set oServiceManager = Nothing

Das läuft so weit, ich weiß aber nicht, ob das alles tut, was es tun sollte (aus OO-Sicht) und ob das die optimale Struktur ist.

Außerdem bekomme ich eine Fehlermeldung, und zwar beim oDocument.Close:
com.sun.star.util.CloseVetoException: Controller disagree ...
Ist da der Drucker noch nicht fertig? Wenn ich dann in der IDE den Befehl manuell nochmal absetzte, bekomme ich keinen Fehler mehr, aber der Ausdruck ist dahin (das muss ich aber noch genau untersuchen, drucke über einen Alpha-Server mit einem LaserJet 4 Si Mx und PostScript).

Der Druckbefehl dauert aber eh' schon eine halbe Ewigkeit. Allein das Suchen des Standard-Druckers dauert auch, wenn ich den Writer über das Start-Menü aufgerufen habe, einige Sekunden.

Lothar Geyer

Nach oben