Servus.
Ich habe ein Adressverzeichnis in Excel. Per VBA wird zu einem gewünschten Teilnehmer ein Word-Dokument anhand einer Wordvorlage geöffnet. Im Dokument sind Textmarken, die gefüllt werden.
Das funktioniert prima.
Problem:
Das erstellte Word möchte ich als PDF unter vordefiniertem Namen (aus excel) speichern. Habe das schon als direktes speichern von Dokument1 probiert und auch so, dass ich erst das Word-Dokument speichere und dann das PDF erstelle (hab ich irgendwo gelesen).
Weder schaffe ich es, dass ich ein PDF erstelle, noch dass ich das Word speichere.
Wenn ich mein derzeitiges Makro starte, dann erscheint ein Laufzeitfehler '438' Objekt unterstützt diese Eigenschaft oder Methode nicht. Probiere da schon seit Stunden rum und hatte schon verschiedene Fehlermeldungen, aber aktuell kommt diese und ich finde nur noch Foreneinträge, die ich bereits probiert habe ...
Die Ideallösung wäre, wenn ich das aus der Vorlage erstellte Worddokument direkt als PDF speichern könnte und dann ohne speichern schließen.
Hat jemand eine Idee oder vielleicht sogar einen Code für mich?
Gekürztes Makro:
Sub Angebot_erstellen()
' Definieren der Variablen
' Excel
Dim Adresse_Zeile1_quelle As String
Adresse_Zeile1_quelle = [C2]
' [...]
' Die Vertragsnummer steht in Excel und soll später im PDF-Namen stehen
Dim Vertragsnummer1 As String
Vertragsnummer1 = [M2]
' Word
Dim appWord As Object
Dim v2 As Object
Dim v3 As Object
Dim v4 As Object
' Vorbereitung Servicevertrag (v2)
Set appWord = CreateObject("Word.Application")
Set v2 = appWord.Documents.Add("Verzeichnis\dateiname.dotx")
With v2
appWord.Visible = True
v2.Activate
' Adresse Zeile 1
v2.Bookmarks("Adresse_Zeile1").Range.Text = Range(Adresse_Zeile1_quelle)
' [...]
Dim strNameV2 As String
strNameV2 = "Verzeichnis\dateiname_" & Vertragsnummer1 & ".pdf"
Dim strNameV2Temp As String
strNameV2Temp = "Verzeichnis\dateiname_temp"
' Hier will ich das Word Dokument speichern, weil in manchen Foren stand, dass das Worddokument gespeichert werden muss, bevor ein PDF erstellt wird. Krieg ich nur nicht hin ...
.ActiveDocument.SaveAs2 Filename:=strNameV2Temp, _
FileFormat:=wdFormatDocument
' Und hier versuche ich, das PDF zu erzeugen und scheitere, falls ich das als Word speichern weglasse
.ExportAsFixedFormat OutputFileName:=strName, _
ExportFormat:=17, _
OpenAfterExport:=False
.Close False
End With
appWord.Quit
' zurücksetzen
Set v2 = Nothing
Set appWord = Nothing
End Sub
PDF speichern beginnt Zeile 37 und Word speichern (falls überhaupt notwendig) beginnt Zeile 32
Vielen Dank, viele Grüße und einen schönen Tag
Gert