Moin zusammen,
ich habe mir unten stehendes Makro zusammengesucht um aus einer Excel Tabelle Daten in einen Serienbrief zu übernehmen un dzu drucken.
Bevor wir auf OO / LO umgestellt haben, nutzen wir MS und damit auch VBA. Ich bin dort ein wenig bewandert, jedoch nicht im "richtigen" Basic
.
Die Datenquelle ist registriert und kann über F4 --> Daten in Felder auch übernommen werden.
(Bei LibreOffice kann ich die XLS nur einmal registrieren, danach öffnet der die Verbindung nicht mehr - jmd dazu auch einen RAT?).
Versuche ich es mit dem unten stehenden Makro, funktioniert zwar der Druck, aber die Felder sind nicht gefüllt. Lt. Dannhöfer ist dies der "richtige" Weg.
Es führt kein Weg an dieser Excel Datei (XLS) vorbei, da unsere WW diese als Schnittstelle nutzt. Ich bin für jeden Hinweis dankbar
Code: Alles auswählen
Sub Main
Dim MyProps as Object
Dim printer(0) as new com.sun.star.beans.PropertyValue
MailMerge = createunoservice("com.sun.star.text.MailMerge")
MailMerge.DocumentURL=ConvertToUrl("c:\Ordner\Datei.doc")
MailMerge.CommandType=com.sun.star.sdb.CommandType.TABLE
MailMerge.DataSourceName="Datenbank"
MailMerge.Command="Tabelle"
MailMerge.OutputType=1
MailMerge.OutputUrl=ConvertToUrl("C:\Ordner\UnterOrdner")
'MailMerge.FileNameFromColumn=false
'MailMerge.Filenameprefix="Ausdruck"
printer(0).Name = "Name"
printer(0).Value = "KM-1635 GX normal"
MailMerge.Model.setPrinter(printer)
MailMerge.execute(array())
End Sub