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

Forumthread: Öffnen einer Word-Datei und drucke per Excel-Makro

Öffnen einer Word-Datei und drucke per Excel-Makro
21.02.2017 15:35:57
Gowitzke
Hallo Zusammen.
Ich bin zufällig auf dieses Forum getroffen und suche Hilfe.
Ich möchte mit Klick auf einen Button in Excel eine Word-Datei öffnen und diese soll dann auf dem Drucker X gedrückt werden. Bei dem Drucker X handelt es sich nicht um den Standartdrucker sondern einen anderen Drucker im Netzwerk. Ich habe hier im Forum auch schon etwas Hilfe gefunden nur ich weiß nicht wie ich dort den Drucker X einfügen kann.
Sub Schaltfläche1_BeiKlick()
Dim appWord As Object
Dim doc As Object
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Err.Number  0 Then Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Open("C:\test.doc")
doc.PrintOut Copies:=4
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

Ich hoffe mir kann jemand helfen.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Öffnen einer Word-Datei und drucke per Excel-
21.02.2017 17:24:23
Michael
Hallo!
Ungetestet:
Sub Schaltfläche1_BeiKlick()
Const ZIELDRUCKER As String = "DerDruckerName"
Dim appWord As Object
Dim doc As Object
Dim AktuellerDrucker As String
'Bisher eingestellten Drucker merken...
AktuellerDrucker = ActivePrinter
'Zieldrucker setzen...
ActivePrinter = ZIELDRUCKER
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Err.Number  0 Then Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Open("C:\test.doc")
doc.PrintOut Copies:=4 'Druckt am nun gesetzten Drucker
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
'Drucker auf Ausgangswert zurücksetzen
ActivePrinter = AktuellerDrucker
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub
LG
Michael
Anzeige
AW: Öffnen einer Word-Datei und drucke per Excel-
22.02.2017 08:50:50
Gowitzke
Hallo Michael,
leider funktioniert es bei mir nicht. Er möchte immer noch auf den Standarddrucker zugreifen.
AW: Öffnen einer Word-Datei und drucke per Excel-
22.02.2017 11:27:34
Michael
Hallo!
Versuch's mal mit...
'...
appWord.ActivePrinter = ZIELDRUCKER

LG
Michael
AW: Öffnen einer Word-Datei und drucke per Excel-
22.02.2017 14:57:33
Gowitzke
So sieht es jetzt bei mir aus und es funktioniert leider nicht :(
Sub Schaltfläche1_BeiKlick()
Const ZIELDRUCKER As String = "DerDruckerName"
Dim appWord As Object
Dim doc As Object
Dim AktuellerDrucker As String
'Bisher eingestellten Drucker merken...
AktuellerDrucker = "\\BRMBLGP6A\P1514_KOMIC280 auf Ne05:"
'Zieldrucker setzen...
appWord.ActivePrinter = "\\BRMBLGP7A\P1547_T5308R auf Ne06:"
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Err.Number  0 Then Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Open("C:\test.doc")
doc.PrintOut Copies:=4 'Druckt am nun gesetzten Drucker
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
'Drucker auf Ausgangswert zurücksetzen
ActivePrinter = "\\BRMBLGP6A\P1514_KOMIC280 auf Ne05:"
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

Anzeige
AW: Öffnen einer Word-Datei und drucke per Excel-
22.02.2017 16:02:25
Michael
Hi!
Zum obigen Code, wenn dann schon so (deswegen hab ich Dir ja eine Konstante reingeschrieben):
Sub Schaltfläche1_BeiKlick()
Const ZIELDRUCKER As String = "\\BRMBLGP7A\P1547_T5308R auf Ne06:"
Dim appWord As Object
Dim doc As Object
Dim AktuellerDrucker As String
'Bisher eingestellten Drucker merken...
AktuellerDrucker = ActivePrinter
'Zieldrucker setzen...
appWord.ActivePrinter = ZIELDRUCKER
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Err.Number  0 Then Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Open("C:\test.doc")
doc.PrintOut Copies:=4 'Druckt am nun gesetzten Drucker
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
'Drucker auf Ausgangswert zurücksetzen
ActivePrinter = AktuellerDrucker
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub
Aus meiner Sicht müsste das Laufen; kann nicht wirklich nachvollziehen, warum nicht.
LG
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Öffnen einer Word-Datei und Drucken per Excel-Makro


Schritt-für-Schritt-Anleitung

Um eine Word-Datei in Excel zu öffnen und diese über einen bestimmten Drucker zu drucken, kannst Du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du das Makro erstellen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub Schaltfläche1_BeiKlick()
       Const ZIELDRUCKER As String = "\\BRMBLGP7A\P1547_T5308R auf Ne06:"
       Dim appWord As Object
       Dim doc As Object
       Dim AktuellerDrucker As String
    
       ' Bisher eingestellten Drucker merken...
       AktuellerDrucker = ActivePrinter
       ' Zieldrucker setzen...
       appWord.ActivePrinter = ZIELDRUCKER
    
       On Error Resume Next
       Set appWord = GetObject(, "Word.Application")
       If Err.Number <> 0 Then Set appWord = CreateObject("Word.Application")
    
       Set doc = appWord.Documents.Open("C:\test.doc")
       doc.PrintOut Copies:=4 ' Druckt am nun gesetzten Drucker
       Application.Wait Now + TimeSerial(0, 0, 5)
       appWord.Quit
    
       ' Drucker auf Ausgangswert zurücksetzen
       ActivePrinter = AktuellerDrucker
       Set doc = Nothing
       Set appWord = Nothing
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Füge einen Button hinzu, um das Makro zu starten. Klicke mit der rechten Maustaste auf den Button und wähle Makro zuweisen, um das gerade erstellte Makro zu verknüpfen.

Jetzt kannst Du mit einem Klick auf den Button die Word-Datei öffnen und drucken.


Häufige Fehler und Lösungen

  • Fehler: Drucker wird nicht gewechselt

    • Stelle sicher, dass der Druckername im Code korrekt ist. Der Drucker muss genau so angegeben werden, wie er in Windows angezeigt wird.
  • Fehler: Word-Datei öffnet sich nicht

    • Überprüfe den Pfad zur Word-Datei. Vergewissere Dich, dass der Pfad korrekt ist und die Datei existiert.
  • Fehler: Makro funktioniert nicht

    • Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere Makros.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch manuell die Word-Datei öffnen und drucken:

  1. Öffne die Word-Datei direkt.
  2. Wähle den gewünschten Drucker aus und drucke die Datei.

Diese Methode ist jedoch weniger automatisiert und erfordert mehr Schritte.


Praktische Beispiele

Angenommen, Du möchtest ein Dokument namens "Bericht.doc" drucken. Hier ist ein angepasstes Beispiel:

Sub BerichtDrucken()
    Const ZIELDRUCKER As String = "\\BRMBLGP7A\P1547_T5308R auf Ne06:"
    Dim appWord As Object
    Dim doc As Object
    Dim AktuellerDrucker As String

    AktuellerDrucker = ActivePrinter
    appWord.ActivePrinter = ZIELDRUCKER

    On Error Resume Next
    Set appWord = GetObject(, "Word.Application")
    If Err.Number <> 0 Then Set appWord = CreateObject("Word.Application")

    Set doc = appWord.Documents.Open("C:\Bericht.doc")
    doc.PrintOut Copies:=1
    appWord.Quit

    ActivePrinter = AktuellerDrucker
    Set doc = Nothing
    Set appWord = Nothing
End Sub

Tipps für Profis

  • Verwende Konstanten für Druckernamen, um den Code übersichtlicher zu gestalten.
  • Nutze On Error-Fehlerbehandlung, um das Makro robuster zu machen.
  • Teste den Code in einer sicheren Umgebung, bevor Du ihn produktiv einsetzt.

FAQ: Häufige Fragen

1. Wie öffne ich ein .doc-Dokument?
Verwende den Befehl Set doc = appWord.Documents.Open("C:\DeinDokument.doc") im Makro.

2. Kann ich das Makro in Excel 2013 verwenden?
Ja, das Makro sollte in Excel 2013 sowie in späteren Versionen funktionieren, solange VBA-Makros aktiviert sind.

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