Office: (Office 2013) Druckereigenschaften per VBA einstellen

Helfe beim Thema Druckereigenschaften per VBA einstellen in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo in die Runde, ich stehe womöglich vor einem größeren Word-Problem. In unserem Büro haben wir neue Drucker bekommen, die standardmäßig... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von RookieOne, 27. Juli 2014.

  1. Druckereigenschaften per VBA einstellen


    Hallo in die Runde,

    ich stehe womöglich vor einem größeren Word-Problem.

    In unserem Büro haben wir neue Drucker bekommen, die standardmäßig doppelseitig und in Graustufen drucken.

    Nun will man aber hin und wieder wichtige Dokumente in Farbe drucken.

    Gibt es eine Möglichkeit, per VBA oder Makro auf die Druckereigenschaften zu gehen und dort temporär den Farbmodus auf Farbdruck zu stellen?

    Aus Excel kenne ich die PageSetup.BlackAndWhite-Eigenschaft. Jedoch habe ich in Word 2013 keine Entsprechung gefunden (verstehe da einer Microsoft ...).

    Vielleicht hat jemand hier im Word-Forum einen guten Tipp.

    Dank & Gruß, Daniel

    :)
     
    RookieOne, 27. Juli 2014
    #1
  2. Würde mich grundsätzlich auch mal interessieren.
    Ob man das praktisch verwenden kann, ist die andere Frage. Ich habe meinen Duplex-Farb-Drucker mit 4 virtuellen Druckern ergänzt, um jeweils einen für Farbe, Duplex usw. parat zu haben. VBA muss dann nur noch den Drucker auswählen.
    Eine Einstellung der einzelnen Druckermerkmale aus VBA wäre kaum möglich, weil es meist um 3-4 verschiedene druckerspezifische Parameter und nicht nur um einfach Farbe/sw geht.
    Viele Grüße, Halweg
     
    halweg, 29. Juli 2014
    #2
  3. Hallo Daniel,
    Duplex als Standard mag ja noch angehen, aber standardmäßig den Farbdruck auf einem Farbdrucker zu deaktivieren, finde ich ungewöhnlich.

    Zumindest für das temporäre Umschalten Duplex/Simplex hat Michael Schwimmer für Excel-VBA eine Lösung (siehe hier) entwickelt, die sich auch in Word integrieren lässt.
     
    Zuletzt von einem Moderator bearbeitet: 28. Januar 2021
    haklesoft, 29. Juli 2014
    #3
  4. Druckereigenschaften per VBA einstellen

    Guten Morgen,

    auch bei mir im Büro ist das Color-Multifunktionsgerät (KONICA MINOLTA C554Series) standardmäßig auf doppelseitig und S/W eingestellt. Es soll wohl Kosten sparen.

    An die Anwender, die vor jedem Druck diverse Einstellungen ändern müssen, um einen anständigen Ausdruck zu erhalten, hat dabei mal wieder keiner gedacht.

    How ever, wir haben diverse Versuche gestartet die Druckereigenschaften per VBA zu steuern. Unter Windows XP und Office 2003 hat das auch mit SENDKEYS funktioniert. Nach der Umstellung auf Windows 7 erkennt Word/VBA jedoch nicht mehr, dass das Eigenschaftenfenster des Druckers (= Einstellungen im Druckertreiber) aufgeht. Selbst das Warten vor der Ausführung der SENDKEYS-Befehle funktioniert nicht, da VBA nicht erkennt wohin es sie schicken soll. Das Ergebnis dieser ungezielt abgegebenen SENDKEYS-Befehle ist aber manchmal recht lustig.

    Fazit:
    Du kannst die Druckeinstellungen in Word/VBA anpassen - aber eben nur die Optionen, die du nach Druck auf STRG+P siehst.

    Trotz diverser Suchen sind auch wir erst heute auf die Lösung von Michael Schwimmer gestoßen und werden mal versuchen sie für andere Druckereinstellungen anzupassen.

    Sollten wir es schaffen, poste ich die Lösung. Sollte jemand schon eine andere API-Druckersteuerungslösung haben, wäre ich natürlich auch sehr interessiert.

    Bis dahin

    Stefan
     
    stefan1975, 30. Juli 2014
    #4
  5. Hallo, haklesoft,

    so ungewöhnlich ist die Voreinstellung auf s/w-Druck nicht; bei uns sollen damit Kosten gespart werden (btw: @stefan: Wir haben hier auch im Büro Minolta C554e neu ausgerollt bekommen).

    PageSetup.BlackAndWhite war falsch gedacht; ich will ja nicht das Dokument schwarz-weiß drucken; auch ein Setzen auf false würde ja in Word nichts bringen.

    Stefans Ansatz mit Sendkeys habe ich auch verfolgt; mit dem selben Ergebnis.

    Bei Minolta selbst gibt es ein „Developer Program“: https://dsp.konicaminolta.eu/beu/dsp...f/nav?OpenForm

    Es bietet u.a. Zugang zu „Open APIs“.

    Ich hatte mich da vergangene KW registriert, aber bis dato noch keinen Zugang erhalten.

    Ich melde mich, sobald ich hier Neues erfahre.

    @stefan: Kannst du ggf. deinen Sendkeys-Ansatz hier im Thread posten?

    Gruß, Daniel
     
    RookieOne, 30. Juli 2014
    #5
  6. Hallo,

    kommt auch auf den Druckertreiber an. In dem von Kyocera z. B. kann man Profile mit passenden Einstellungen erstellen und bei Bedarf jeweils umschalten.
     
    haklesoft, 30. Juli 2014
    #6
  7. Hallo zusammen,

    so sieht mein Sendkeys-Ansatz aus:

    Code:
    Damit wird der Druck-Dialog (Strg+P)geöffnet und das Druckereigenschafts-Fenster wird aufgerufen. Jedoch geht es in diesem Dialog-Fenster mit dem Sendkeys-Makro nicht weiter :-(

    Unterdessen habe ich in der Fachliteratur einen Hinweis gefunden. Im Buch „Microsoft Word Programmierung - Das Handbuch“ http://*******/1n5xp4v wird bemerkt:
    Es wird auf die Windows-API-Schnittstelle verwiesen, die ein findiger MVP ausgenutzt hat. Sein Ansatz ist hier zu finden: http://*******/WOp8N6 (die Original-URL ist nicht mehr aktiv; daher hier eine archivierte Seite).

    Gruß, Daniel
     
    RookieOne, 30. Juli 2014
    #7
  8. Druckereigenschaften per VBA einstellen

    Hi,

    ich würd die Finger lassen von Sendkeys. Nach Sendkeys ist auf meiner Tastatur grundsätzlich NumLock ausgeschaltet. Das ist ein dokumentierter BUG von M$.

    Ich weiche mitlerweile komplett auf API aus, alle anderen Sendkeys-Versuche (DoEvents etc.) waren Müll und haben zu keinem vernünftigen Ergebnis geführt *entsetzt .

    Gruß
    TT
     
    TomTom2010, 30. Juli 2014
    #8
  9. \@RookieOne

    Hier unser Sendkeys-Ansatz
    Code:
    Wie bereits berichtet funktionierte dieser Ansatz nur bis zur Umstellung auf Win7.
    Eigenartigerweise musste ich den Druckdialog 2x öffnen um ihn steuern zu können. Die VBA-Pausen haben wir ohne Erfolg an diversen Stellen eingebaut und durchprobiert.

    Viele Grüße

    Stefan
     
    stefan1975, 30. Juli 2014
    #9
  10. Ich bediene meine Druckdialoge auch manchmal mit Send-Befehlen (allerdings über AHK, diese Skriptsprache ist für so was besser geeignet, weil sie WINWAIT und andere Befehl hat).
    Aber trotzdem würde mich interessieren, warum nicht einfach ein neuer virtueller Drucker installiert werden kann, in dem die gewünschten Merkmale voreingestellt sind.
    Viele Grüße, Halweg
     
    halweg, 30. Juli 2014
    #10
  11. \@halweg:

    bei uns stellt sich die IT-Abteilung quer und wir als Anwender haben kein Recht virtuelle Drucker zu erzeugen. Uns bleibt nur die Druckeinstellungen des Geräts vor jedem Ausdruck zu kontrollieren und ggf. anzupassen.

    Selbst das globale Umstellen der Druckereigenschaften in Windows (Start|Geräte und Drucker) hält bei uns nicht lange, da die Druckereigenschaften mehrmals am Tag auf die Standardwerte zurückgesetzt werden.

    Viele Grüße
    Stefan
     
    stefan1975, 31. Juli 2014
    #11
  12. Hallo Daniel,

    mit dem von Dir in #7 gefundenen Ansatz ist es möglich, sowohl Duplex als auch Color für den Ausdruck umzuschalten. Nur zwei Kleinigkeiten bei den PrinterProperties waren im Modul-Code anzupassen, da meine lokalen Printernamen keinen Porthinweis enthalten: Code:
    Mit Duplex klappt die Umschaltung einwandfrei; Color kann ich zwar setzen aber mangels passender Hardware nicht testen.
     
    haklesoft, 31. Juli 2014
    #12
  13. Druckereigenschaften per VBA einstellen

    Hallo,

    ich habe versucht die Lösung von Michael Schwimmer zum Laufen zu bekommen, es aber nicht geschafft.
    Bei uns (Win7 mit Office 2003) bricht die Abarbeitung immer beim Füllen der eigenen DEVMODE-Struktur (z.B. in der Zeile "CopyMemory udtDevMode, ByVal lngPtrDevMode, Len(udtDevMode)") ab. Es gibt jedoch keine Fehlermeldung sondern die ganze Excelanwendung bricht zusammen.

    Hattet ihr das Problem auch? Wenn ja, wie habt ihr es gelöst?

    Viele Grüße

    Stefan
     
    stefan1975, 11. August 2014
    #13
  14. Hallo Stefan,

    für die Schwimmer-Lösung habe ich auf dieser Maschine kein Beispiel parat. Ich dachte, wir suchen eine Lösung für Word und nicht für Excel. Unter Word-VBA ist der Trick mit dem temporären Druckerwechsel nicht nötig.

    Der von Jonathan West gezeigte Weg für die Druckausgabe innerhalb einer Word-Anwendung im Duplex-Mode unter Win7/64-Word2010/32 klappt einwandfrei.

    Im Modul habe ich die Color- und Quality-Sachen dringelassen habe, obwohl ich sie nicht benutze. Der Aufruf erfolgt innerhalb einer Anwendung z. B. so (Pseudocode):
    If bDuplex = True Then
    PrintDuplexBooklet
    Else
    ActiveDocument.PrintOut Background:=False
    End If Code:
     
    haklesoft, 11. August 2014
    #14
  15. Habe gerade mal mit beiden Mappen aus dem Download von Michael Schwimmer mit Excel die Duplex-Umschaltung probiert:

    Win7/64-Excel2010/32: Druckeränderungen.xlsm funktioniert einwandfrei

    WinXP-Excel2002: Druckeränderungen.xls funktioniert, allerdings dauert es gefühlte 10 Sekunden, bis die Umschaltungen abgeschlossen sind.
     
    Zuletzt von einem Moderator bearbeitet: 28. Januar 2021
    haklesoft, 11. August 2014
    #15
Thema:

Druckereigenschaften per VBA einstellen

Die Seite wird geladen...
  1. Druckereigenschaften per VBA einstellen - Similar Threads - Druckereigenschaften VBA einstellen

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  8. Druckereigenschaften speichern

    in Microsoft Excel Hilfe
    Druckereigenschaften speichern: Hallo zusammen, ich suche eine Lösung zum Einstellen der Drucker und Druckereigenschaften. Ich brauche jeweils 3 verschiedene Drucker und muss die immer mühsam anwählen, bei einem Drucker muss ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden