Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Makro - Word Speichern unter (PDF, Docx)

Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 18:49:20
Peter
Hallo liebes Forum,
ich habe eine Frage zu folgendem Code. Hier wird eine Word datei geöffnet und die Textmarken werden durch Zelleninhalte ersetzt.
Anschließend soll das geöffnete Word Dokument automatisch als .docx und .pdf gespeichert werden. Der Dateiname soll dabei der Zelleninhalt aus der Zelle A2 sein.
Kann mir da jemand helfen?
Das abspeichern soll an die Stelle %%%%%%%%%%.
Danke euch und einen schönen Advent.
Sub neu()
Dim appWord As Object
Dim docTest As Object
Dim i As Integer
Dim a As String
For i = 1 To 1
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.documents.Open("C:\test.docx")
appWord.Visible = True
a = "ExcelW1"
docTest.Activate
docTest.Bookmarks(a).Range.Text = Cells(1, i)
i = i + 1
a = "ExcelW2"
docTest.Activate
docTest.Bookmarks(a).Range.Text = Cells(1, i)
Set docTest = Nothing
Set appWord = Nothing
Next i
End Sub

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 19:08:09
Sepp
Hallo Peter,
dir For-Schleife ist eigentlich Nonsense!
Ungetestet!
Sub neu()
Dim appWord As Object, docTest As Object
Dim i As Integer, a As String

Set appWord = CreateObject("Word.Application")
appWord.Visible = True

Set docTest = appWord.documents.Open("C:\test.docx")

With docTest
  For i = 1 To 1
    a = "ExcelW1"
    .Bookmarks(a).Range.Text = Cells(1, i)
    i = i + 1
    a = "ExcelW2"
    .Bookmarks(a).Range.Text = Cells(1, i)
  Next i
  .Save
  .ExportAsFixedFormat OutputFileName:=Replace(.FullName, ".docx", ".pdf"), _
    ExportFormat:=17, OpenAfterExport:=False
  .Close
End With

Set docTest = Nothing
Set appWord = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 19:33:03
Peter
@Sepp: Ich weiß, dass die For Schleife Nonsense ist. Das ganze dient erstmal bloß zum testen.
Bei deinem Code zum Speichern kommt folgender Fehler: Unzulässiger oder nicht ausreichend definierter Verweis.
Der Code stoppt in der Zeile: .Save
@Nepumuk: vielen Dank auch für deine Hilfe. Bei deinem Code kommt folgender Fehler: Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht.
Der Fehler tritt in folgender Zeile auf:
Call docTest.SaveAs2("C:\Users\Fritz\Desktop\" & Cells(2, 1).Text, 12)
Ich habe den Pfad noch ergänzt an allen Stellen.
Habt ihr weitere Tipps oder Ideen woran es liegt das euer Code nicht funktioniert? Danke :)
Anzeige
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 19:15:05
Nepumuk
Hallo Peter,
teste mal:
Sub neu()
    Dim appWord As Object
    Dim docTest As Object
    
    Set appWord = CreateObject("Word.Application")
    Set docTest = appWord.documents.Open("C:\test.docx")
    
    appWord.Visible = True
    
    docTest.Bookmarks("ExcelW1").Range.Text = Cells(1, 1)
    
    docTest.Bookmarks("ExcelW2").Range.Text = Cells(1, 2)
    
    Call docTest.ExportAsFixedFormat("C:\" & Cells(2, 1).Text, 17)
    Call docTest.SaveAs2("C:\" & Cells(2, 1).Text, 12)
    
    Call appWord.Quit
    
    Set docTest = Nothing
    Set appWord = Nothing
    
End Sub

Direkt auf C: wirst du die Dokumente nicht speichern können, aber da du keinen Pfad vorgegeben hast habe ich mal C: genommen.
Gruß
Nepumuk
Anzeige
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 19:33:50
Peter
@Nepumuk: vielen Dank auch für deine Hilfe. Bei deinem Code kommt folgender Fehler: Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht.
Der Fehler tritt in folgender Zeile auf:
Call docTest.SaveAs2("C:\Users\Fritz\Desktop\" & Cells(2, 1).Text, 12)
Ich habe den Pfad noch ergänzt an allen Stellen.
Habt ihr weitere Tipps oder Ideen woran es liegt das euer Code nicht funktioniert? Danke :)
Anzeige
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 19:36:06
Peter
@Nepumuk: Ich habe nun die 2 weggelassen bei Saveas2 und es funktioniert PERFEKT!!! Dank dir vielmals.
AW: Excel Makro - Word Speichern unter (PDF, Docx)
17.12.2017 20:11:16
Peter
Ich habe noch eine Frage zu dem SaveAs2. Wenn ich Microsoft Office 2016 verwenden würde, müsste ich dann SaveAs2 verwenden oder wofür ist die 2? Dank euch :)
AW: Excel Makro - Word Speichern unter (PDF, Docx)
18.12.2017 07:40:21
Nepumuk
Hallo Peter,
ab Excel2013 musst du SaveAs2 benutzen.
Gruß
Nepumuk
Anzeige
Nachtrag
18.12.2017 07:42:20
Nepumuk
Nochmal Hallo,
ich habe mir die "verborgenen Elemente" anzeigen lassen, SaveAs wird in 2016 auch noch funktionieren.
Gruß
Nepumuk
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Makro für das Speichern von Word-Dokumenten als PDF und DOCX


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Makro. Dazu gehst du auf "Entwicklertools" und klickst auf "Visual Basic".
  2. Füge den folgenden Code ein, um ein Word-Dokument zu öffnen, die Textmarken zu ersetzen und es als DOCX und PDF zu speichern.
Sub neu()
    Dim appWord As Object
    Dim docTest As Object
    Dim a As String

    Set appWord = CreateObject("Word.Application")
    appWord.Visible = True
    Set docTest = appWord.documents.Open("C:\test.docx")

    a = "ExcelW1"
    docTest.Bookmarks(a).Range.Text = Cells(1, 1)

    a = "ExcelW2"
    docTest.Bookmarks(a).Range.Text = Cells(1, 2)

    ' Speichern als DOCX
    Call docTest.SaveAs2("C:\" & Cells(2, 1).Text, 12)

    ' Speichern als PDF
    Call docTest.ExportAsFixedFormat("C:\" & Cells(2, 1).Text, 17)

    ' Schließe das Dokument und die Word-Anwendung
    docTest.Close
    appWord.Quit

    Set docTest = Nothing
    Set appWord = Nothing
End Sub
  1. Passe den Pfad an, wo du die Datei speichern möchtest. Achte darauf, dass du über die notwendigen Berechtigungen verfügst.

Häufige Fehler und Lösungen

  • Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht.

    • Dies kann passieren, wenn du SaveAs2 verwendest. Stelle sicher, dass du die richtige Syntax benutzt und die Version von Word unterstützt wird.
  • Unzulässiger oder nicht ausreichend definierter Verweis.

    • Überprüfe, ob das Word-Dokument geöffnet werden kann und der Pfad korrekt ist.
  • Word nicht gespeichert.

    • Stelle sicher, dass du die Word-Anwendung korrekt schließt und die Objekte freigibst.

Alternative Methoden

Du kannst auch alternative Ansätze verwenden, um eine PDF-Datei aus einem Word-Dokument zu erstellen. Zum Beispiel könntest du ein Power Automate-Flow verwenden, um die Umwandlung von PDF in DOCX zu automatisieren.


Praktische Beispiele

  1. Dokument aus Excel generieren:

    • Ersetze die Textmarken in einem Word-Dokument mit Werten aus einer Excel-Tabelle.
  2. PDF-Dokument erstellen:

    • Nutze den Code, um eine PDF-Datei aus einem bestehenden Word-Dokument zu erstellen.
Call docTest.ExportAsFixedFormat("C:\" & Cells(2, 1).Text, 17)

Tipps für Profis

  • Verwende word speichern unter shortcut, um Zeit zu sparen, wenn du häufig Dokumente speicherst.
  • Achte auf die richtige Versionierung deines Codes, vor allem wenn du unterschiedliche Excel- oder Word-Versionen verwendest.
  • Nutze vba word als pdf speichern, um den Prozess der Dokumentenerstellung zu automatisieren und die Effizienz zu steigern.

FAQ: Häufige Fragen

1. Muss ich SaveAs2 in Office 2016 verwenden?
Ja, ab Excel 2013 wird empfohlen, SaveAs2 zu verwenden, um die Kompatibilität zu gewährleisten.

2. Was ist der Unterschied zwischen SaveAs und SaveAs2?
SaveAs2 bietet zusätzliche Optionen und ist für die neueren Versionen von Word optimiert.

3. Wie kann ich sicherstellen, dass mein Word-Dokument korrekt gespeichert wird?
Überprüfe den Pfad und die Dateiberechtigungen, bevor du den Speichervorgang ausführst.

4. Kann ich die Umwandlung von PDF in DOCX automatisieren?
Ja, mithilfe von Makros oder Power Automate kannst du den Prozess der PDF in DOCX Umwandlung automatisieren.

Nutze diese Anleitungen, um deine Excel-Makros effizient zu gestalten und sicherzustellen, dass du deine Word-Dokumente problemlos als DOCX und PDF speicherst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige