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: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  4. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  5. Laufzeitfehler 9 VBA

    in Microsoft Excel Hilfe
    Laufzeitfehler 9 VBA: Nschdem ich die Office Version von 2010 auf 2019 aktualisiert habe wird mir der Laufzeitfehler 9 ausgegeben. Das ist der Code Sub FiberCollect() Dim NumRows As Long 'letzte celle Dim Counter As...
  6. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  7. VBA - letzte nicht-leere Spalte

    in Microsoft Excel Hilfe
    VBA - letzte nicht-leere Spalte: Moin, liebe VBA-Spezis, mit Cells(99, Columns.Count).End(xlToLeft).Column bestimme ich die Spaltenzahl der letzten benutzten Zelle in Zeile 99. Soweit, so klar. Nun habe ich aber Formeln in...
  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