Thema Datum  Von Nutzer Rating
Antwort
Rot benötigte Hilfe bei VBA
09.09.2020 15:13:45 Jannick
NotSolved
09.09.2020 18:03:25 Gast58352
NotSolved

Ansicht des Beitrags:
Von:
Jannick
Datum:
09.09.2020 15:13:45
Views:
81
Rating: Antwort:
  Ja
Thema:
benötigte Hilfe bei VBA
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

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot benötigte Hilfe bei VBA
09.09.2020 15:13:45 Jannick
NotSolved
09.09.2020 18:03:25 Gast58352
NotSolved