Serienbrief über XLS starten+sendToEmail
23.11.2020 09:41:24
evi
ich hab schon einige threads durchstöbert, hänge aber seid geraumer Zeit an folgendem (wsl einfach zu lösenden) Problem, und komme nicht weiter:
Ich möchte aus XLS ein Serienbrief starten, mit der Option Emails (nicht word Doks) als mail-merge zu erstellen >> wdsendtoEmail
Ich bekomme aber das Problem nicht gelöst, was man in Word typischerweise über die Command Box angibt (Auswahl wo Email steht, Subject, etc.).
Problem: bei >> .excecute pause:=false >> kommt runtime error 5630 word cannot merge documents that can be distributed by mail
Hier mein Code:
Ich würde mich seehr über hilfe freuen. herzlichen dank!!
Sub SerienbriefVerknüpfen()
Dim oWrd As Object
Dim oDoc As Object
Dim strSheetName As String, strLaufwerkDateiname As String
strSheetName = "Ansprache.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.MainDocumentType = 0
oDoc.MailMerge.OpenDataSource Name:= _
ThisWorkbook.FullName _
, ConfirmConversions:=False, LinkToSource:=True, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & ThisWorkbook. _
FullName & ";Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Je" _
, SQLStatement:="SELECT * FROM `ZUSAGE-Serienbriefmail$`", SQLStatement1:="", _
SubType:=1
' With ActiveDocument.MailMerge
With oDoc.MailMerge
.Destination = 2
' .Destination = .wdSendToEmail
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
oDoc.Close SaveChanges:=0 'Das Seriendruckdokument wird ohne Speichern geschlossen
Set oDoc = Nothing
Set oWrd = Nothing
End Sub