Anzeige
Archiv - Navigation
1452to1456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worddatein aus Excel ausdrucken

Worddatein aus Excel ausdrucken
21.10.2015 18:22:31
Peter
Hallo zusammen,
ich bitte wieder um eure Hilfe.
1. Herausforderung
Ich habe in einem Ordner C:/Test Worddateien die ich gern direkt aus dem Ordner ausdrucken (also ohne sie zu öffnen). Im Windows-Explorer geht es recht einfach. Ordner öffnen - Datei markieren - rechte Maustaste - Drucken.
Leider nimmt der Makrorekorder diese einzelnen Schritte nicht auf.
Wie müsste der Code dazu aussehen?
2. Herausforderung
Weiß jemand von euch, ob es möglich ist per VBA das Menu "Datei" dann "Drucken" zu öffnen, die Druckeinstellungen manuell verändern und dann dieses Menu wieder per VBA zu schließen wenn die Veränderungen durchgeführt wurden. Oder gibt es sogar eine direkte Möglichkeit die Druckeinstellungen per VBA zu ändern.
Letztendlich möchte ich die o.g. Worddateien auf einem zweiten Drucker, der beidseitig drucken kann, ausdrucken.
Jede Hilfe ist willkommen.
LG, Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worddatein aus Excel ausdrucken
21.10.2015 18:43:16
Michael
Hi Peter,
vielleicht hilft Dir das weiter:
http://www.administrator.de/frage/word-document-durch-batch-drucken-48944.html
Da steht:
normalerweise sollte unter HKEY_CLASSES_ROOT\Word.Document.8\shell\Print\command stehen, was passiert, wenn der Benutzer im Explorer bei einem Word-Dokoment "Drucken" anklickt.
Das ist dann meist etwas wie
"C:\Programme\Microsoft Office\OFFICE11\WINWORD.EXE" /x /n /dde
Damit (+den Dateinamen als Parameter) würde ich zuerst experimentieren.

Das kann man dann via Shell aufrufen.
Mit der Druckerwahl... Evtl. den Duplex-Drucker zuvor auf "Standard" setzen.
Schöne Grüße,
Michael

Anzeige
Nachtrag
21.10.2015 18:47:50
Michael
Hier z.B. alle Parameter: https://support.microsoft.com/en-us/kb/210565
Gesucht hatte ich nach "winword.exe parameter" oder so.
Vielleicht ist es auch nicht verkehrt, wenn Du nach word vba drucken suchst; kann sein, die Sache läßt sich easy als Word-Makro lösen - und hier geht denn auch der Makrorekorder.

AW: Nachtrag
22.10.2015 10:24:48
Peter
Hallo Michael,
anbei ein Teil meines Codes.
In der Zeile:

wordapp.ActiveDocument.PrintOut ....
erhalte ich einen Laufzeitfehler 4608 - Wert nicht im Definitionsbereich.
Kann mir jemand hier weiter helfen?
    For i = 8 To lz
If Cells(i, 4) > 0 Then
vAnzahAusdrucke = Cells(i, 4)
Produkt = P(i - 7)          'Namen der Worddokumente, wurden vorher zugeordnet
wordapp.Documents.Open Filename:=PfadTDB & Produkt & ".docx"
wordapp.ActiveDocument.PrintOut Copies:=vAnzahAusdrucke, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
wordapp.ActiveDocument.Close
End If
Zähler = Zähler + 1
Next i
LG,
peter

Anzeige
AW: Nachtrag
23.10.2015 10:26:39
Peter
Liebes Forum,
hat jemand von Euch einen weiteren Tip dazu. Lasse ich den Rest der Zeile weg
wordapp.ActiveDocument.PrintOut Copies:=vAnzahAusdrucke
dann wird die Word-Datei ausgedruckt aber nicht doppelseitig.
Gibt es einen Befehl, damit das Worddokument doppelseitig ausgedruckt wird?
Lg,
Peter

Recherche
23.10.2015 14:55:02
Michael
Hi Peter,
die Geschichte ist offensichtlich nicht sooo einfach.
Den 4608 könntest Du evtl. mal verfolgen, indem Du den Code zeilenweise mit F8 durchgehst; oder laß Dir mal das vAnzahlausdrucke in einer msgbox ausgeben. Kann es sein, daß da Zahlen als TEXT in der Zelle stehen?
Ich habe mal ne Runde recherchiert: word vba drucken duplex
Es finden sich mehrere Lösungsansätze bei office-loesung, z.B. das Anlegen einer Kopie des Druckertreibers, die auf Duplex voreingestellt ist. Lies Dich halt mal durch.
Die Profi-Erklärung bzw.- Lösung findet sich da...
https://support.microsoft.com/de-de/kb/230743
Word-VBA hat offensichtlich keinen "direkten" Schalter für den Duplexdruck, derweil letzterer unter den Druckereigenschaften (dem Drucker-eigenen Dialog) festgelegt wird - deshalb wird er auch im Makro-Rekorder nicht aufgezeichnet.
Auf dieser support-Seite befindet sich ein Makro-Beispiel mit API-Zugriff, das den Duplexdruck über die Tiefen des Systems (kernel32.dll) anwirft.
Zwischendrin scheint es nichts zu geben.
Zu APIs kannst Du Dich hier informieren: http://www.online-excel.de/excel/singsel_vba.php?f=37
Schöne Grüße,
Michael

Anzeige
AW: Recherche
23.10.2015 18:13:05
Peter
Hallo Michael,
vielen Dank für deine Antwort.
Es ist so, dass ich den Server-Drucker bereits ansprechen kann.
Die Worddokumete werden auch ausgedruckt, nur eben nicht als Duplex.
Von den Profi-Lösungen lasse ich als Laie die Finger von. Ich könnte damit zu viel zerstören und das möchte ich nicht. Da es wohl keine einfache Lösung dazu gibt werde ich die Word-Dokumente lieber manuell ausdrucken.
Schade denn ich habe ein kleines Makro erstellt, bei dem ich die Namen und die Anzahl der Drucke der Word-Dokumente eingeben kann und dann druckt der Drucker eben die 20 Dokumente schön im Hintergrund aus aber eben nur einseitig.
Nochmals vielen Danke Antwort.
LG, Peter

Anzeige
Na dann,
23.10.2015 22:16:52
Michael
Peter,
manchmal ist der Programmieraufwand eben höher als es die händische Vorgehensweise rechtfertigt.
Trotzdem weiterhin happy Exceling,
Michael

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige