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

Forumthread: Word Dokument über Excel drucken

Word Dokument über Excel drucken
15.09.2021 20:47:59
Christian
Hallo zusammen,
ich würde gerne per Button in einer Excel Datei mehrere Word Dokumente ausdrucken.
Es sind immer die selben Dateien und sie liegen alle in einem Ordner. In dem Ordner sind sonst keine anderen Dateien.
Hat evtl jemand einen Code für mich, mit dem ich alle Dateien ausdrucken oder ich den kompletten Ordner drucken könnte?
ich habe natürlich erstmal gegooglet aber ich habe keinen der gefundenen Codes zum laufen gebracht ohne das es nicht ging oder sich alles aufgehangen hat.
Schon mal Danke für eure Hilfe
Gruß
Christian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Dokument über Excel drucken
15.09.2021 21:46:29
Oberschlumpf
Hi Christian,
hier, bitte schön

Option Explicit
Sub sbWordPrint()
Const lcstrPath As String = "D:\Herber\Word\" 'Pfad anpassen; letztes Zeichen MUSS ein Backslash sein!
Dim larstrFile() As String, lstrDir As String, liIdx As Integer
Dim objWord As Object
ReDim larstrFile(0)
lstrDir = Dir(lcstrPath & "*.doc*")
Do Until lstrDir = ""
larstrFile(UBound(larstrFile)) = lcstrPath & lstrDir
ReDim Preserve larstrFile(UBound(larstrFile) + 1)
lstrDir = Dir
Loop
ReDim Preserve larstrFile(UBound(larstrFile) - 1)
Set objWord = CreateObject("word.Application")
For liIdx = 0 To UBound(larstrFile)
objWord.wordbasic.disableautomacros 1
objWord.documents.Open larstrFile(liIdx)
objWord.PrintOut Filename:=larstrFile(liIdx)
Next
Set objWord = Nothing
End Sub
Beachte den Kommentar im Code.
In dem von mir gewählten Verzeichnis sind 3 Word-Dateien gespeichert.
Eine Datei enthält ein Word-Makro.
Mit dem Befehl ...disableautomacros 1 werden vor jedem Öffnen einer Word-Datei alle Word-Makros deaktiviert.
Direkt nach dem Öffnen jeder Word-Datei (ohne diese in Word anzuzeigen) wird jede Word-Datei auf dem in Windows als Standarddrucker definierten Drucker ausgedruckt.
Die Besonderheit auf meinem PC:
Aktuell habe ich keinen "echten" Drucker. Als Standarddrucker ist nur ein PDF-Printer eingerichtet.
Daher dachte ich eigentlich, dass ich mit dem Erstellen+Ausführen des obigen Codes keinen Erfolg haben werde.
Aber...doch...nach jedem Druckauftrag erfolgt vom PDF-Printer erst mal die Frage "Wo soll die PDF-Datei gespeichert werden?".
Und nach Auswahl meines Wunsch-Ordners wurden alle 3 Word-Dateien mit dem PDF-Printer auch aus Excel heraus gedruckt, bzw als PDF-Dateien gespeichert.
Hilfts?
Ciao
Thorsten
Anzeige
Korrektur
15.09.2021 23:21:13
Oberschlumpf
Hi Christian,
ersetz mal den Code für For/Next durch diesen hier:

For liIdx = 0 To UBound(larstrFile)
objWord.wordbasic.disableautomacros 1
objWord.documents.Open larstrFile(liIdx)
objWord.PrintOut Filename:=larstrFile(liIdx)
objWord.documents(larstrFile(liIdx)).Close SaveChanges:=False
Next
Ich hatte vergessen, dass die geöffnete(n) Word-Datei(en) nach Drucken ja auch wieder geschlossen werden sollte(n).
Ciao
Thorsten
...dein Feedback würd mich aber weiterhin interessieren...
Anzeige
AW: Korrektur
16.09.2021 17:06:50
Christian
Hallo Thorsten,
vielen dank erstmal für deine Mühen.
Leider funktionierte es nicht und ich musste auch den kompletten PC neu starten, da sich alles aufgehangen hat.
Ich habe aber auch einen Fehler bei der Versionsangabe gemacht. Bei dem PC auf dem es laufen soll ist Office 16 drauf. Ich weiss nicht welchen Einfluß das haben kann.
Trotzdem vielen dank
Christian
Anzeige
AW: Korrektur
16.09.2021 22:53:03
Oberschlumpf
Hi Christian
die Version ist diesmal egal. Ich arbeite auch mit MSO 2016. Also nutzen wir beide die gleiche Version.
Da ich auf meinem PC keine Probleme finden kann, die Datei funktioniert hier problemlos, ich hab ja sogar sicherheitshalber die Word-Makros ausgeschaltet, kann ich gerad nur vermuten, dass vielleicht dein Speicherpfad "komische Zeichen" enthält, oder auch die Dateinamen selbst enthalten "komische Zeichen".
noch ne Idee:
Der Ordner mit den Word-Dateien befindet sich doch - lokal - auf deinem Computer und nicht auf einem Sharepoint oder sonstigem Netzlaufwerk, oder?
Na ja, ohne deinen Computer + Umgebung sehen zu können, kann ich im Moment nur raten, wieso das bei dir nicht funktioniert.
Ciao erst mal - mal sehen wie dein neues Feedback ist
Thorsten
Anzeige
AW: Korrektur
18.09.2021 07:37:48
Christian
Hallo Thorsten

noch ne Idee:
Der Ordner mit den Word-Dateien befindet sich doch - lokal - auf deinem Computer und nicht auf einem Sharepoint oder sonstigem Netzlaufwerk, oder?
Genau das war der Punkt :D . Ich hatte die Datei auf M:\ , welches ein Netzlaufwerk ist. Ich hab die Ordner auf den Desktop gezogen und nun funktionierts.
vielen, vielen, vielen Danke
Gruß und ein schönes Wochenende
Christian
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Word Dokumente über Excel drucken


Schritt-für-Schritt-Anleitung

Um mehrere Word-Dokumente über Excel auszudrucken, kannst Du den folgenden VBA-Code verwenden. Dieser Code druckt alle Word-Dokumente im angegebenen Ordner nacheinander aus.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Option Explicit
Sub sbWordPrint()
    Const lcstrPath As String = "D:\Herber\Word\" 'Pfad anpassen; letztes Zeichen MUSS ein Backslash sein!
    Dim larstrFile() As String, lstrDir As String, liIdx As Integer
    Dim objWord As Object
    ReDim larstrFile(0)
    lstrDir = Dir(lcstrPath & "*.doc*")
    Do Until lstrDir = ""
        larstrFile(UBound(larstrFile)) = lcstrPath & lstrDir
        ReDim Preserve larstrFile(UBound(larstrFile) + 1)
        lstrDir = Dir
    Loop
    ReDim Preserve larstrFile(UBound(larstrFile) - 1)
    Set objWord = CreateObject("word.Application")
    For liIdx = 0 To UBound(larstrFile)
        objWord.wordbasic.disableautomacros 1
        objWord.documents.Open larstrFile(liIdx)
        objWord.PrintOut Filename:=larstrFile(liIdx)
        objWord.documents(larstrFile(liIdx)).Close SaveChanges:=False
    Next
    Set objWord = Nothing
End Sub
  1. Passe den Pfad D:\Herber\Word\ an den Speicherort Deiner Word-Dokumente an.
  2. Schließe den VBA-Editor und führe das Makro aus.

Dieser Code wird alle .doc und .docx Dateien im angegebenen Ordner drucken.


Häufige Fehler und Lösungen

  • Word-Dokument lässt sich nicht drucken: Überprüfe, ob der Pfad korrekt ist und ob die Dateien tatsächlich vorhanden sind.
  • Word-Dokument wird nicht gedruckt: Stelle sicher, dass ein Standarddrucker eingerichtet ist. Wenn Du keinen Drucker hast, wird möglicherweise ein PDF-Drucker verwendet, der nach dem Speichern fragt.
  • Excel-Datei ausdrucken hängt sich auf: Achte darauf, dass der Ordner lokal gespeichert ist und keine Sonderzeichen im Dateinamen enthält.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch manuell die Word-Dokumente öffnen und über das Menü Datei > Drucken die Dokumente drucken. Eine andere Methode ist, die Dokumente in eine PDF-Datei umzuwandeln und diese dann auszudrucken.


Praktische Beispiele

Wenn Du beispielsweise mehrere Word-Dokumente drucken möchtest, aber keine Kommentare in den Dokumenten haben willst, kannst Du die Option „Word-Dokument ohne Kommentare drucken“ aktivieren. Verwende dazu die Druckeinstellungen in Word und wähle die entsprechende Option aus.

Ein Beispiel für das Umwandeln von mehreren Word-Dateien in eine PDF-Datei könnte so aussehen:

  1. Öffne die Word-Dokumente.
  2. Gehe zu Datei > Speichern unter und wähle PDF als Dateiformat.

Tipps für Profis

  • Wenn Du häufig mehrere Word-Dokumente drucken musst, erwäge, die Dokumente in einem Makro zu automatisieren.
  • Teste den Druckprozess zunächst mit einem Dokument, um sicherzustellen, dass alles korrekt eingerichtet ist.
  • Denke daran, den Code zu optimieren, indem Du z. B. den Drucker direkt angibst oder die Druckoptionen spezifizierst.

FAQ: Häufige Fragen

1. Wie drucke ich ein Word-Dokument aus?
Du kannst ein Word-Dokument öffnen und über Datei > Drucken den Druckprozess starten.

2. Kann ich mehrere Word-Dokumente drucken?
Ja, Du kannst dafür VBA verwenden, um alle Dokumente in einem Ordner nacheinander auszudrucken.

3. Wie kann ich Kommentare in Word-Dokumenten beim Drucken ausblenden?
Du kannst die Druckeinstellungen in Word anpassen, um Kommentare beim Drucken auszublenden.

4. Was tun, wenn mein Word-Dokument nicht gedruckt wird?
Überprüfe die Druckereinstellungen und stelle sicher, dass der Drucker korrekt angeschlossen ist und funktioniert.

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