VBA Excel zu Word als PDF - Loop Problem
19.11.2023 13:22:27
Alex_S
ich hänge an einem Problem. Und zwar habe ich mir bereits mit den Informationen von euch hier aus dem Forum eine VBA gebastelt, die mittels Active.Cell eben die ausgewählte Zelle wählt und in einer Word-Datei an den entsprechenden Textmarken die Daten der Spalten einsetzt und das ganze als PDF speichert. Funktioniert wunderbar.
Nun würde ich gerne diese Funktion um eine Schleife erweitern, die alle Zeilen abarbeitet und daraus jeweils einzelne PDF Dateien erstellt. Das habe ich auch versucht umzusetzen, jedoch bleibt der Makro nach dem ersten Durchlauf immer mit dem Fehler 462 hängen. "Laufzeitfehler 462 der remote server computer existiert nicht".
Leider komme ich gerade nicht weiter. Da er das erste PDF komplett korrekt anlegt und speichert, hatte ich mit Wait gearbeitet und gehofft, dass Word einfach nicht schnell genug geschlossen wurde. Aber auch das hat mit 10 Sekunden Pausen nichts gebracht.
In der Hoffnung, dass jemand von euch eine Idee hat, habe ich mich hier angemeldet.
VBA ist für mich Neuland, Programmierung aber an sich nicht, wenn auch nur rudimentäre Verständnisse vorhanden sind.
Ich freue mich auf euren Input.
Sub ExportToWord()
Dim wordapp As New Word.Application
Dim doc As Word.Document
Dim Zeile As Long
Zeile = 2
Do While Not Tabelle3.Cells(Zeile, 1).Value = ""
wordapp.Visible = True
Set doc = wordapp.Documents.Open(ThisWorkbook.Path & "\Schulungsbestätigung.docx")
doc.Bookmarks("Geburtstag").Range.Text = Tabelle3.Cells(Zeile, 2).Value
doc.Bookmarks("ID").Range.Text = Tabelle3.Cells(Zeile, 5).Value
doc.Bookmarks("ID2").Range.Text = Tabelle3.Cells(Zeile, 5).Value
doc.Bookmarks("Konzept").Range.Text = Tabelle3.Cells(Zeile, 6).Value
doc.Bookmarks("Konzept2").Range.Text = Tabelle3.Cells(Zeile, 6).Value
doc.Bookmarks("Konzept3").Range.Text = Tabelle3.Cells(Zeile, 6).Value
doc.Bookmarks("Name1").Range.Text = Tabelle3.Cells(Zeile, 1).Value
doc.Bookmarks("Name2").Range.Text = Tabelle3.Cells(Zeile, 1).Value
doc.Bookmarks("Schulungsdatum").Range.Text = Tabelle3.Cells(Zeile, 3).Value
doc.Bookmarks("Schulungsdatum2").Range.Text = Tabelle3.Cells(Zeile, 3).Value
doc.Bookmarks("Schulungsdatum3").Range.Text = Tabelle3.Cells(Zeile, 7).Value
doc.ExportAsFixedFormat ThisWorkbook.Path & "\Schulungsbestätigung_" & Tabelle3.Cells(Zeile, 4).Value & "_" & Tabelle3.Cells(Zeile, 1).Value & ".pdf", wdExportFormatPDF
doc.Close SaveChanges:=False
wordapp.Quit
' Nächste Zeile
Zeile = Zeile + 1
Loop
End Sub