Hallo zusammen,
derzeit bin ich dabei eine kleine AdressDB zu entwicklen, mit der man dann Word Serienbriefe erstellen kann.
Sollte eigentlich über OLE ja gehen. Funktioniert auch schon soweit. Dabei exportiere ich meine Notesdaten zunächst in ein Excelsheet, dieses sieht der Anwender aber gar nicht, da dies direkt automatisiert als Quelle für das Wordseriendokument bereitgestellt werden soll.
Ich habe mal in Word ein Makro aufgezeichnet und das kam dabei raus:
ActiveDocument.MailMerge.OpenDataSource Name:= _
"MeinExcelSheet.xls", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=MeinExcelSheet.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Pas" _
, SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
Wenn ich die ganzen Infos aus dem Makro mal in mein Lotus Script umsetze
Call woDoc.MailMerge.OpenDataSource("MeinExcelSheet.xls", False, False, True, False, "", "", "", "", False, 0, "select * from 'Sheet1$'")
kommt ein "Automation object argument type mismatch"
Daraufhin habe ich den Befehl im LS mal miniert und der sieht nun sowet funktionstüchtig so aus:
Call woDoc.MailMerge.OpenDataSource(strExcelFile, False, False, True, False, Null)
Dann geht immerhin mein Worddokument auf. Allerdings fragt Word dann, von welchem Excelsheet die Daten genutzt werden sollen.
Eigentlich hätte das ja mit dem Punkt "SELECT * FROM `Sheet1$`" erledigt werden sollen. Aber da kommt ja die Meldung.
Und mit dem zweiten vollständigen Code klappt das auch nicht.
Das kann doch eigentlich nur eine Kleinigkeit sein, die verkehrt ist oder?
Sieht die zufällig jemand und würde mir diese verraten?