Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme Serienbrief aus Excel in Word

Forumthread: Probleme Serienbrief aus Excel in Word

Probleme Serienbrief aus Excel in Word
10.02.2022 19:07:56
Julian
Hallo Zusammen,
ich habe ein Problem mit meinem Code, aus meiner Tabelle einen Serienbrief im Word zu erstellen.
Hier der Code, Erklärung danach:

Private Const strDatenQuelle As String = "XXX.xlsm"
Private Const strWordVorlage As String = "XXXSerienbrief.docx"
Sub Serienb()
' Im Excel VBA-Editor muss vorher für die Datei mit diesem Makro unter Extras-Verweise
' den Verweis auf die Microsoft Word x.y Object Library aktiviert werden!!
Dim WinWord, WinDoc As Word.Document, docSerienbrief As Word.Document
Dim sFile As String, strCon As String
sFile = strWordVorlage
Set WinWord = CreateObject("Word.Application")
With WinWord
.Visible = True
'   Vorlagedatei öffnen
Set WinDoc = .Documents.Open(sFile)
With WinDoc
With .MailMerge
'   Datenquelle öffnen
.OpenDataSource Name:=strDatenQuelle, _
ConfirmConversions:=False, _
LinkToSource:=True, _
Revert:=False, _
Format:=wdOpenFormatAuto, _
Connection:="Provider=Microsoft.Jet.OLEDB.4.0;" _
& "User ID=Admin;" _
& "Data Source=" & strDatenQuelle & ";" _
& "Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";" _
& "Jet OLEDB:System database="""";" & "Jet OLEDB:Registry Path="""";" _
& "Jet OLEDB:Engine ", _
SQLStatement:="SELECT * FROM `Tabelle2$`", SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
'   Serienbrief mit allen Daten im neuen Dokument erstellen
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
Set docSerienbrief = WinWord.ActiveDocument
'   Datenquelle wieder schliessen
.DataSource.Close
End With
'   Vorlagedatei wieder schliessen
.Close Savechanges:=False
End With
'   Serienbrief - Drucken - Seitenvorschau
'docSerienbrief.Application.WindowState = wdWindowStateMinimize
'If MsgBox("Serienbrief Drucken ?", vbYesNo + vbQuestion, _
'    "Serienbrief-Erstellung - Drucken - Seitenvorschau") = vbYes Then
'    docSerienbrief.Application.WindowState = wdWindowStateMaximize
'    docSerienbrief.PrintPreview
'   docSerienbrief.PrintOut
'End If
'   Serienbrief - Speichern
docSerienbrief.Application.WindowState = wdWindowStateMinimize
If MsgBox("Serienbrief Speichern ?", vbYesNo + vbQuestion, _
"Serienbrief-Erstellung-Speichern") = vbYes Then
docSerienbrief.Application.WindowState = wdWindowStateMaximize
docSerienbrief.Application.Dialogs(wdDialogFileSaveAs).Show
End If
docSerienbrief.Application.WindowState = wdWindowStateMaximize
End With
Set docSerienbrief = Nothing
Set WinWord = Nothing
Set WinDoc = Nothing
End Sub
Im Fett markierten Bereich kommt die Fehlermeldung: Die Zeichenfolge ist länger als 255 Zeichen.
Ich werde nicht schlau daraus. Hat jemand ein solches Problem schonmal gehabt? Habe ich irgendwelche Verweise nicht aktiviert?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeig bitte d. Word-Vorlage + d. Arbeitsmappe
10.02.2022 23:18:47
JoWE
Hallo Julian,
ohne Word-Vorlage und Excel-Arbeitsmappe mit anonymisierten Daten oder Musterdaten ist es kaum möglich etwas dazu zu sagen.
Gruß
Jochen
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige