ich benutze zur Serienbrieferstellung ein VBS-Macro, welches neben der Mischfunktion, das Ergebnis auf einen PDF-Drucker ausgebit. Leider funktioniert ab OO-Vesion 3.3 die Umleitung auf den PDF-Drucker nicht mehr. Der Serienbrief wird immer auf den Window-Standarddrucker ausgegeben.
Folgendes Script wird verwendet :
Code: Alles auswählen
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim Connection as object
Dim InteractionHandler as Object
Dim oDoc as Object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Printer"
args1(0).Value = "PDFCreator"
dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1())
' create a db context
dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
' get the existing mysql data source
dbNwica = dbContext.getByName("SERIEODS")
' supply the password
IF NOT dbNwica.IsPasswordRequired THEN
Connction = dbNwica.GetConnection("","")' ("Benutzername","Passwort")
else
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
Connection = dbNwica.ConnectWithCompletion(InteractionHandler)
end if
MailMerge = createunoservice("com.sun.star.text.MailMerge")
MailMerge.DataSourceName="SERIEODS"
MailMerge.DocumentURL=thisComponent.getURL()
MailMerge.CommandType=1
MailMerge.Command="Abfrage1"
MailMerge.OutputType=1
Dim MyProps() as Object
if (inStr(thisComponent.getURL(),".ODT") > 0) Then
rc = msgbox("Haben Sie für diesen Brief die Calc-Datei Mischdaten.ods Im Verzeichnis U:\Serien ausgetauscht oder aktualisiert ?",36,"Sparkasse Jena - Sereinbriefdruck")
if (rc = 6) Then
MailMerge.execute(MyProps())
Else
msgbox ("1. Diesen Brief speichern und schließen " & Chr(13) & Chr(10)& "2. Calc-Datei Mischdaten.ods Im Verzeichnis U:\Serien austauschen oder aktualisieren" & Chr(13) & Chr(10)& "3. Diesen Brief wieder öffnen und Makro zum Seriendruck ausführen !",64,"Sparkasse Jena - Sereinbriefdruck"
end if
Else
msgbox "Serienbrief muß vor dem Druck gespeichert werden !",48,"Sparkasse Jena - Sereinbriefdruck"
end if
end sub
Evtl. kann mir jemand einen Tip geben.
Ralf
Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst