Ich habe ein Problem bei Vba. Und zwar versuche ich seit Tagen einen Serienbrief in Word zu erstellen, der die neuen Dateien mit einem jeweiligen Dateinamen, der ebenfalls in der Exceltabelle steht, als eigende Worddatei zu speichern. Dazu habe ich bereis diesen Code gefunden. Ich habe ihn auf meine Daten angepasst, jedoch wird bei der Ausführung des Makros dann die Zeile ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord (Zeile 11) immer als Laufzeitfheler '5853': ungültiger Parameter genannt.
Habe leider so gut wie keine Erfahrung mit VBA und hoffe mir kann hier jeamnd weiterhelfen.
vielen Dank :)
Sub ...()
Dim Dateiname As String
Dim LetzterRec As Long
Application.ScreenUpdating = False
Application.Visible = False
Const path As String = "D:XYZ"
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
LetzterRec = Word.ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = wdFirstRecord
Do
If .DataSource.ActiveRecord > 0 Then
If .DataSource.DataFields("Name der Datei").Value <> "0" Then
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
Dateiname = path & .DataFields("Name der Datei").Value & ".docx"
End With
.Execute Pause:=False
ActiveDocument.SaveAs FileName:=Dateiname
ActiveDocument.Close False
End If
End If
If .DataSource.ActiveRecord < LetzterRec Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If
Loop
End With
Application.Visible = True
Application.ScreenUpdating = True
End Sub
|