Datenquelle f. Serienbrief per VBA festlegen
15.09.2003 13:31:05
Christian Allinger
ich rufe die Seriendruckfunktion von Word per VBA von Excel aus auf:
Set WordApp = CreateObject("Word.Application")
WordApp.Documents.Add Template:="Vorlage.dot", NewTemplate:=False, DocumentType:=0
WordApp.Visible = True
With WordApp.ActiveDocument.MailMerge
.Destination = 0
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = 1
.LastRecord = 3
End With
.Execute Pause:=True
End With
WordApp.ActiveDocument.MailMerge.MainDocumentType = -1
Set WordApp = Nothing
Dies funktioniert auch einwandfrei, allerdings nur, wenn die Datenquelle in der Datei "Vorlage.DOT" fest definiert wurde.
Wenn ich versuche mittels folgendem Code die Datenquelle festzulegen erhalte ich die Meldung: "Laufzeitfehler '4198' Befehl misslungen Woran kann das liegen ?
WordApp.ActiveDocument.MailMerge.OpenDataSource name:= "Steuer.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=Steuer.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:R", _
SQLStatement:="SELECT * FROM `'MM Ziel$'`", SQLStatement1:="", _
SubType :=wdMergeSubTypeAccess
Gruß,
Christian