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. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. VBA Projekt - seltsames Verhalten auf zweitem Rechner

    in Microsoft Excel Hilfe
    VBA Projekt - seltsames Verhalten auf zweitem Rechner: Moin zusammen, ich habe als ehrenamtlicher Mitarbeiter für einige soziale Einrichtungen eine Dienstplandatei und Arbeitszeitnachweise erstellt. In den Dateien arbeiten diverse Makros - bisher...
  5. Spalten wieder einblenden per VBA

    in Microsoft Excel Hilfe
    Spalten wieder einblenden per VBA: Guten Abend zusammen, ich habe das kleine Problem das sich die Spalte "E:Z" nicht mehr einblenden lassen, weil das "Ausblenden" unter Private Sub Worksheet_Activate() steht und das...
  6. Teilweise abgerundetes Rechteck mit VBA

    in Microsoft Excel Hilfe
    Teilweise abgerundetes Rechteck mit VBA: Moin ihr Lieben, als nur Gelegenheits-Nutzer von VBA bräuchte ich mal eure Hilfe, da alle Vorschläge von ChatGPT nicht funktionieren. Ich möchte per VBA ein Rechteck zeichnen, welches links zwei...
  7. offene Word-Datei per VBA speichern

    in Microsoft Excel Hilfe
    offene Word-Datei per VBA speichern: Guten Abend zusammen, mit dem nachfolgenden Code öffne ich ein OLE-Objekt (Word-Datei) aus Excel heraus. Sheets("WORD").Select ActiveSheet.Shapes.Range(Array("Object 7")).Select...
  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