Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In Excel Word-Dokument drucken

In Excel Word-Dokument drucken
14.04.2015 18:28:57
Friedrich
puarbgtc
Guten Tag,
Ich weiß, dass es bereits etliche Thread in etlichen Foren zu diesem Thema gibt. Ich schreibe dennoch hier, da ich leider immernoch keine Lösung gefunden habe.
Ich versuche lediglich per VBA eine Word-Datei zu öffnen und diese mit einem bestimmten Netzwerkdrucker zu drucken.
Das war der Ansatz, den ich am öfftesten gefunden hatte:
Private Sub CommandButton1_Click()
Dim objWord
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
objWord.ActivePrinter = "\\ABC-123\Drucker 122 on NE03:"
Dim objDoc
Set objDoc = objWord.Documents.Open("M:\Ebene1\BSP.docx")
objDoc.PrintOut
objDoc.Close
objWord.Quit
End Sub

Wenn ich in Excel per Makrorecorder den gewünschten Drucker auswähle heißt er
"\\ABC-123\Drucker 122 auf Ne03:"
Wenn ich in Word per Makrorecorder den gewünschten Drucker auswähle heißt er
"\\ABC-123\Drucker 122"
Wenn ich in Word den gewünschten Drucker auswähle und ihn in Excel per
Word.Application.ActivePrinter abfrage, dann heißt er
"\\ABC-123\Drucker 122 on NE03:"
Ich habe das oben gepostete mit allen Varianten(und mir ersichtlichen Kombinationen) ausprobiert - hatte aber leider nie Erfolg mit dem Drucken.
Das Öffnen der Datei oder auch das Öffnen des Druckmenüs der Word-Datei klappt tadellos, aber eben nicht, direkt zu drucken.
Vielen Dank im Vorraus!

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Excel Word-Dokument drucken
15.04.2015 08:44:16
Friedrich
Bin nun ein bisschen weiter.
Ich arbeite auf einer Remotedesktopverbindung auf einem Server. Insgesamt stehen mir 5 verschiedene Drucker zur Verfügung, davon 3 im Netzwerk, 1 PDF-Drucker für den Desktop auf der Remotedesktopverbindung, sowie der PDF-Drucker auf dem "richtigen" PC.
Der ActivePrinter ließ sich nicht über VBA ändern, solange der PDF-Drucker des physichen PC's ausgewählt war. Wähle ich einen Anderen als Standarddrucker, dann habe ich kein Problem mehr.
Das ist allerdings nur der Fall, wenn ich den ActivePrinter in Word aus Excel ändern möchte. Solange ich in einer der Anwendungen bleibe (also in Excel den Excel ActivePrinter bzw in Word den Word ActivePrinter ändere) kann ich auch den ActivePrinter ändern, wenn der PDF-Drucker des physichen PC's als Standard eingestellt ist.
Hat jemand eine Idee, woher das kommt, bzw. ob man das umgehen kann?

Anzeige
Aus Excel Word-Dokument drucken
19.04.2015 12:18:47
Anton
Hallo Friedrich,
so vielleicht:
Private Sub CommandButton1_Click()
Dim objWord As Object, objDoc As Object, aktDrucker As String
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'aktuellen Drucker merken
aktDrucker = objWord.ActivePrinter
'Drucker auswählen
objWord.Dialogs(97).Show
Debug.Print objWord.ActivePrinter
Set objDoc = objWord.Documents.Open("M:\Ebene1\BSP.docx")
objDoc.PrintOut
'Drucker zurücksetzen
objWord.ActivePrinter = aktDrucker
objDoc.Close
objWord.Quit
End Sub

mfg Anton
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

In Excel Word-Dokument drucken


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Füge einen Button hinzu:

    • Gehe zu "Entwicklertools" > "Einfügen" > "Button (Formularsteuerelement)".
  3. Doppelklicke auf den Button, um den VBA-Editor zu öffnen.

  4. Füge den folgenden VBA-Code ein:

    Private Sub CommandButton1_Click()
       Dim objWord As Object, objDoc As Object
       Set objWord = CreateObject("Word.Application")
       objWord.Visible = False
    
       ' Drucker auswählen
       objWord.ActivePrinter = "\\ABC-123\Drucker 122 on NE03:"
    
       ' Word-Dokument öffnen
       Set objDoc = objWord.Documents.Open("M:\Ebene1\BSP.docx")
       objDoc.PrintOut
    
       ' Dokument schließen
       objDoc.Close
       objWord.Quit
    End Sub
  5. Speichere die Excel-Datei als Makro-fähige Datei (z.B. .xlsm).

  6. Klicke auf den Button, um das Word-Dokument auszudrucken.


Häufige Fehler und Lösungen

  • Fehler: Dokument wird nicht gedruckt
    Lösung: Überprüfe, ob der richtige Drucker in der Zeile objWord.ActivePrinter ausgewählt ist. Der Name muss exakt mit dem Druckernamen übereinstimmen, der in Word angezeigt wird.

  • Fehler: Word öffnet sich, aber das Dokument wird nicht gedruckt
    Lösung: Stelle sicher, dass der Standarddrucker in Windows nicht der PDF-Drucker ist, wenn du einen Netzwerkdrucker verwenden möchtest.


Alternative Methoden

  • Drucken über das Word-Druckdialogfeld: Du kannst den Druckdialog in Word aufrufen, um manuell den Drucker auszuwählen. Ersetze die Zeile objDoc.PrintOut mit objWord.Dialogs(97).Show, um den Dialog zu öffnen.

  • Verwendung von ActivePrinter: Speichere den aktuell aktiven Drucker in einer Variablen und setze ihn nach dem Drucken zurück. Dies kann helfen, Probleme mit dem word button nicht drucken zu vermeiden.


Praktische Beispiele

Hier ist ein Beispiel, wie du einen Button in Excel einrichten kannst, um ein Word-Dokument zu drucken:

Private Sub CommandButton1_Click()
   Dim objWord As Object, objDoc As Object, aktDrucker As String
   Set objWord = CreateObject("Word.Application")
   objWord.Visible = True

   ' Aktuellen Drucker merken
   aktDrucker = objWord.ActivePrinter

   ' Drucker auswählen
   objWord.Dialogs(97).Show
   Debug.Print objWord.ActivePrinter

   Set objDoc = objWord.Documents.Open("M:\Ebene1\BSP.docx")
   objDoc.PrintOut

   ' Drucker zurücksetzen
   objWord.ActivePrinter = aktDrucker
   objDoc.Close
   objWord.Quit
End Sub

Tipps für Profis

  • Automatisierung optimieren: Verwende Fehlerbehandlungsroutinen in VBA, um potenzielle Fehler beim Drucken abzufangen, z.B. wenn der Drucker offline ist.

  • Drucke mehrere Dokumente: Du kannst eine Schleife einfügen, um mehrere Word-Dokumente nacheinander zu drucken, indem du die Documents.Open Methode mehrmals aufrufst.


FAQ: Häufige Fragen

1. Wie drucke ich ein Word-Dokument aus?
Du kannst ein Word-Dokument direkt aus Excel drucken, indem du den entsprechenden VBA-Code verwendest, um das Dokument zu öffnen und den Druckbefehl auszuführen.

2. Warum kann ich nicht auf den PDF-Drucker drucken?
Der PDF-Drucker kann in einigen Fällen Probleme verursachen, wenn er als Standarddrucker festgelegt ist. Stelle sicher, dass du einen physischen Drucker als Standard auswählst, bevor du versuchst, das Dokument zu drucken.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige