ich habe zu meiner Excel-Datei verschiedene Serienbriefe erstellt.
Weil ich ständig die Datenquelle neu angeben muss und mir die 1.000 Klicks ziemlich auf den Nerv gehen, suche ich nach einem VBA mit dem ich von meiner Excel aus die Serienbriefe öffnen und verknüpfen bzw. starten kann.
Bei meiner Suche im Internet bin ich auf folgende Link gestoßen, der eigentlich funktionieren sollte.
https://www.ms-office-forum.net/forum/showthread.php?t=251123
Mein Code stockt jetzt bei wdFormLetters.
Die Variable sei nicht definiert.
Da ich mich mit derartigem VBA gar nicht auskenne, habe ich weiter gegoogelt.
wdFormLetters ist ein Typ von einem Serienbriefdokument.
https://docs.microsoft.com/de-de/office/vba/api/word.wdmailmergemaindoctype
Sollte also passen.
Hier mein Code.
Bitte werft mal ein Auge drauf. Hoffentlich kann mir jemand helfen.
Sub SerienbriefVerknüpfen()
Dim oWrd As Object
Dim oDoc As Object
Dim strSheetName As String, strLaufwerkDateiname As String
strSheetName = "Inhaltsverzeichnis.docx"
strLaufwerkDateiname = ThisWorkbook.Path & "\" & strSheetName
Set oWrd = CreateObject("word.application")
Set oDoc = oWrd.Documents.Open(strLaufwerkDateiname)
oWrd.Visible = True
oDoc.MailMerge.MainDocumentType = wdFormLetters
oDoc.MailMerge.OpenDataSource Name:= _
strLaufwerkDateiname, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:="Provider=Microsoft.ACE.OLEDB.12.0;User ID= _
Admin;Data Source=strLaufwerkDateiname;Mode=Read; _
Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB: _
Registry Path="""";Jet OLEDB:Engine Type=37;J" _
, SQLStatement:="SELECT * FROM `Vertragsübersicht$`", SQLStatement1 _
:="", SubType:=wdMergeSubTypeAccess
Set oDoc = Nothing
Set oWrd = Nothing
End Sub
Viele Grüße
Edwin