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 haklesoft, dass wir eine Wordlösung suchen, war mir bewusst. Ich wollte die Excellösung nachvollziehen und für Word anpassen - das Word den... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von RookieOne, 27. Juli 2014.

  1. Druckereigenschaften per VBA einstellen


    Hallo haklesoft,

    dass wir eine Wordlösung suchen, war mir bewusst. Ich wollte die Excellösung nachvollziehen und für Word anpassen - das Word den temporären Druckerwechsel nicht braucht, war mir nicht bekannt.

    Deine Lösung druckt nach dem Aufruf von "PrintDuplexBooklet" einwandfrei auf meinem Standartdrucker. Ich werde als nächstes den Druckerwechsel und die Umstellung von S/W auf Farbdruck versuchen zu implementieren.

    Wenn ich eine Lösung dazu habe, melde ich mich wieder.

    Bis dahin schon mal vielen Dank für die Anregungen.

    Viele Grüße

    Stefan
     
    stefan1975, 12. August 2014
    #16
  2. Druckerwechsel entfällt und Color-Umschaltung analog zur Duplex-Umschaltung: Code:
     
    Zuletzt von einem Moderator bearbeitet: 28. Januar 2021
    haklesoft, 12. August 2014
    #17
  3. Wow,

    ich kam nicht mal dazu mich an das Problem dranzusetzen, da hattest du schon eine Lösung parat.

    Die Ausdruckmakros (Duplex + Color) laufen beide durch und drucken meine Testseite in s/w aus. Das Colormakro übergibt die gewünschte Einstellung (FARBdruck) nicht an den Drucker, da dieser nicht erreicht werden kann. Die Funktion wird in der Zeile Code:
    verlassen.

    Die Werte von GetColorMode (vor, während und nach) sind bei mir übrigens alle "0".

    Viele Grüße

    Stefan
     
    stefan1975, 12. August 2014
    #18
  4. Druckereigenschaften per VBA einstellen

    Das ist ja komisch. Der von Dir gezeigte Codeblock wird sowohl beim Auslesen als auch beim Einschreiben von Duplex oder Color durchlaufen. Warum dann der Codeblock nur bei Color nicht funktioniert, ist nicht ersichtlich. Was steht denn in sPrinterName und in hPrinter unmittelbar vor Exit Function?

    Obwohl ich nur einen Schwarzdrucker habe, meldet mir der den Color-Status 1 = schwarz und nach Umstellung 2 = Farbe; - obwohl er die gar nicht drucken kann.

    Es gibt auch Druckertreiber, die keinen Farb-Status kennen und darin auch nicht gesetzt werden können.
     
    haklesoft, 12. August 2014
    #19
  5. Hallo,

    sPrinterName="\\Server\Druckername"
    hPrinter="0"

    Ich habe mehrere Colorlaserdrucker installiert und habe die Makros mit allen getestet. Nachdem ich einen Drucker als Standartdrucker auswählte, wurde sein Pfad als sPrinterName angegeben. hPrinter war immer "0".

    Wo bekommt hPrinter eigentlich seinen Wert her? In denProzedur "GetPrinterProperty" und "SetPrinterProperty" wird hPrinter als Long definiert, aber soweit ich erkennen konnte, wird hPrinter danach kein neuer Wert zugewiesen - er bleibt also bis zur Abbruchbedingung "0" und erfüllt diese somit.

    iRet ist übrigens auch immer "0", würde die Abbruchbedingung also ebenfalls erfüllen.


    Wie kann ich herausbekommen, ob der Druckertreiber einen Farbstatus kennt? Wenn ich die Druckeinstellungen unter Start-Geräte und Drucker-Druckeinstellungen öffne, gibt es dort die Farbwahlmöglichkeit.

    Vielen Dank für die Hilfe bisher.

    Stefan
     
    stefan1975, 12. August 2014
    #20
  6. Das macht die API-Funktion OpenPrinter. Die schreibt in den übergebenen Puffer.

    Bei mir klappt das mit meinem lokalen Drucker problemlos. Beim Netzwerkdrucker steigt er mir auch aus. Übrigens muss man nicht nur " on " im Druckernamen wegfiltern, sondern auch die deutsche Variante " auf ".

    Printerstati kann man mit der API DeviceCapabilities ermitteln.
     
    Zuletzt von einem Moderator bearbeitet: 28. Januar 2021
    haklesoft, 12. August 2014
    #21
  7. An den Routinen habe ich ein wenig geschraubt. Es wird nun der Standarddrucker lokal und mit einem UNC-Pfad erkannt.

    Außerdem kann die Routine PrintExtend sowohl Duplex als auch Color schalten und ggf. nur die Schalterstellungen mit DebugPrint ausgeben. Code:
     
    haklesoft, 12. August 2014
    #22
  8. Druckereigenschaften per VBA einstellen

    sorry, falscher Thread *mrcool
     
  9. Hallo zusammen

    Der Code funktioniert bei mir auf Win10/64-Word2016 nicht mehr.

    Hat einer eine Lösung wie man per VBA-Code die Drucker-Standardeinstellungen auf farbig und einseitig wechselt?

    Danke im Voraus!

    Gruss zenger4ever
     
    zenger4ever, 21. Januar 2019
    #24
  10. Sorry, hat sich erledigt :-)
     
    zenger4ever, 21. Januar 2019
    #25
  11. Moin, zenger4ever,

    Du „schrubst“

    Hast Du eine Lösung für Windows 10 / Office 2016 gefunden?

    Wir stellen demnächst auf Windows 10 / Office 2019 um.

    Richtig zum „Fliegen“ habe ich den VBA-Code für Farb- und einseitigen Druck leider nicht.

    Gruß, RookieOne
     
    RookieOne, 4. Dezember 2019
    #26
  12. Wieso denn nicht? Für Office in einer 64-bit-Version muss man allerdings die API-Deklarationen mit PtrSafe erweitern.
     
    Zuletzt von einem Moderator bearbeitet: 28. Januar 2021
    haklesoft, 5. Dezember 2019
    #27
  13. igor61 Neuer User

    Druckereigenschaften per VBA einstellen

    Hallo allerseits,

    die API-Deklarationen mit PtrSafe erweitern hilft aber unter W11/Office64-Bit nicht mehr ganz. Die Routine steigt kurz vor dem Ende (Zeile 359) mit der Meldung "Typen unverträglich" aus:

    'Load the printer properties into the byte array
    iRet = DocumentProperties(0, hPrinter, sPrinterName, _
    VarPtr(yDevModeData(0)), 0, DM_OUT_BUFFER)
    If (iRet < 0) Then
    'Couldn't access printer properties
    GoTo cleanup
    End If

    Ich könnte da dringend Hilfe gebrauchen.
     
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