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 HTTP Post - Probleme JSON Payload

    in Microsoft Excel Hilfe
    VBA HTTP Post - Probleme JSON Payload: Moin, ich steh auf dem Schlauch.... Ich möchte mit VBA einen HTTP Post senden. Das klappt beim versenden OHNE Payload auch soweit auch ganz gut. Private Function http_post(url As String,...
  3. Kombinationsfeld in VBA auswerten

    in Microsoft Access Hilfe
    Kombinationsfeld in VBA auswerten: Guten Tag, ich habe ein VBA-Problem mit Kombinationsfeldern. Umfeld: Eine Tabelle A mit Namen incl. Adressen, indiziert (NamenID), keine doppelten Einträge möglich. Eine Tabelle B mit Rechnungen,...
  4. Download per VBA nicht aktuell

    in Microsoft Access Hilfe
    Download per VBA nicht aktuell: Hallo, ich nutze in VBA eine Download-Funktion, die mir die neueste Version meines Frontend downloaden soll. Der Download an sich funktioniert, doch leider wird eine alte Version gespeichert. Ich...
  5. Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA

    in Microsoft Excel Hilfe
    Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA: Hallo zusammen, ich habe eine Frage zur automatischen Aktualisierung von Autofilter-Ergebnissen in einer intelligenten Tabelle – und zwar ohne VBA. Ausgangssituation: Ich habe eine intelligente...
  6. Bereich mit VBA zusammenhalten

    in Microsoft Word Hilfe
    Bereich mit VBA zusammenhalten: Ich schreibe aus Access mit VBA Anschriften in ein Worddokument. Jede Anschrift soll zusammengehalten werdem, damit am Seitenende keine Anschrift getrennt wird. Wie muss ich vorgehen um eine...
  7. bedingte Formatierung Schriftgröße (VBA?)

    in Microsoft Excel Hilfe
    bedingte Formatierung Schriftgröße (VBA?): Hallo zusammen, ich kämpfe mich gerade durch die bedingte Formatierung von Excel. So langsam habe ich das Gefühl, dass ich damit die Schriftgröße einer Tabelle nicht ändern kann. Laut Google...
  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