Thema Datum  Von Nutzer Rating
Antwort
Rot Probleme bei Ausführung von MailMerge
19.02.2024 10:09:03 Stef
NotSolved
19.02.2024 20:22:03 xlKing
NotSolved
20.02.2024 14:54:11 Stef
NotSolved
20.02.2024 21:24:18 Gast87493
NotSolved
21.02.2024 15:45:14 Stef
NotSolved
21.02.2024 22:42:05 xlKing
NotSolved
21.02.2024 23:16:26 xlKing
NotSolved
26.02.2024 13:24:34 Stef
NotSolved
27.02.2024 06:46:01 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Stef
Datum:
19.02.2024 10:09:03
Views:
559
Rating: Antwort:
  Ja
Thema:
Probleme bei Ausführung von MailMerge

Guten Morgen alle zusammen,

ich habe aktuell ein Problem mit einem VBA-Skript, das mich etwas in den Wahnsinn treibt. Das Skript erfüllt die Funktion, Serienbriefe der Reihe nach als PDF-Dateien in einen Ordner mit dem Namen "PDF" zu speichern. Genutzt wird das Skript mit Word 2016.

Ich habe das Skript erstellt bzw. angepasst, es getestet und an die entsprechenden KollegInnen gesendet - das war vor ca. 3 Wochen und alles lief ohne Probleme, sowohl auf meinem Gerät als auch bei den KollegInnen. Nun gibt es einen Änderungswunsch und plötzlich bekomme ich das Skript nicht mehr zum Laufen. Ich rede hier von dem unveränderten Originalskript, das vor 3 Wochen ohne Probleme funktioniert hat - es gab bisher noch keine Veränderungen am Code.

Vorab zeige ich hier einmal den Skript-Code:

Sub PDF_Export()

Application.ScreenUpdating = False

Dim StrFolder As String, StrName As String, MainDoc As Document, i As Long
Dim StrFolderExists As String, docName As String

Set MainDoc = ActiveDocument

docName = Left(ActiveDocument.Name, 5)

With MainDoc

  StrFolder = .Path & Application.PathSeparator & "PDF" & Application.PathSeparator
  
  StrFolderExists = Dir(StrFolder, vbDirectory)

  If StrFolderExists = "" Then
    MkDir (StrFolder)
  End If

  For i = 1 To .MailMerge.DataSource.RecordCount
    With .MailMerge
      .Destination = wdSendToNewDocument
      .SuppressBlankLines = True
      With .DataSource
        .FirstRecord = i
        .LastRecord = i
        .ActiveRecord = i
        If Trim(.DataFields("NAME1")) = "" Then Exit For
        If Trim(.DataFields("NAME1")) = "NAME2" Then Exit For
        StrName = docName & .DataFields("BEZEICHNUNG1") & "_" & .DataFields("BEZEICHNUNG2")
      End With
      .Execute Pause:=False
    End With
    StrName = Trim(StrName)

    With ActiveDocument    
        .SaveAs2 FileName:=StrFolder & StrName & ".pdf", FileFormat:=wdFormatPDF, AddToRecentFiles:=False
        .Close SaveChanges:=False
    End With
  Next i
End With

Application.ScreenUpdating = True

End Sub

Ich bin den Code mit F8 in Einzelschritten durchgegangen und konnte das Problem auf den unteren Teil eingrenzen:
Wenn ich den Mauszeiger über "ActiveDocument" (letzter Codeblock, "With ActiveDocument") ruhen lasse, wird mir die ganze Zeit der Name der geöffneten Word-Datei in einer kleinen Infobox angezeigt (ActiveDocument = "XY.dotm").

Sobald die Zeile ".Execute Pause:=False" ausgeführt wird, öffnet sich eine neue Datei ("Serienbriefe1") und die Anzeigt der Infobox zeigt an:
ActiveDocument = <Anwendungs- oder objektdefinierter Fehler>

An dieser Stelle bricht das Skript ab, die Zeile .SaveAs2... wird nicht mehr ausgeführt.

Hat irgendjemand eine Vermutung, wie dieses Problem zustande kommt (vor allem: warum lief das Skript vor 3 Wochen problemlos durch und funktioniert auch bei den KollegInnen noch, während es auf meinem Gerät nun den Fehler produziert?)? Kann mir jemand einen Tipp geben, was ich bei diesem Problem tun kann?

Viele Grüße und vielen Dank im Voraus
Stefan


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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

Thema Datum  Von Nutzer Rating
Antwort
Rot Probleme bei Ausführung von MailMerge
19.02.2024 10:09:03 Stef
NotSolved
19.02.2024 20:22:03 xlKing
NotSolved
20.02.2024 14:54:11 Stef
NotSolved
20.02.2024 21:24:18 Gast87493
NotSolved
21.02.2024 15:45:14 Stef
NotSolved
21.02.2024 22:42:05 xlKing
NotSolved
21.02.2024 23:16:26 xlKing
NotSolved
26.02.2024 13:24:34 Stef
NotSolved
27.02.2024 06:46:01 ralf_b
NotSolved