Clever-Excel-Forum

Normale Version: Excel VBA Drucker auswählen und diesen merken!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen liebe Community,

Ich würde gerne in meiner Userform einen Button hinzufügen der die Installierten Drucker anzeigt und man einen von diesen auswählt.
Nun soll der ausgewählte Drucker gemerkt werden und überall wo in meinem Code geruckt werden soll, über den ausgewählten Drucker gedruckt werden.

Also anstatt dem normalen befehl:  ActiveSheet.PrintOut Copies:=1

ein Befehl mit hinterlegtem Drucker: ActiveSheet.PrintOut mit ausgewähltem Drucker Copies:=1

Ist so etwas möglich umzusetzen?

Danke & viele Grüße.
Hallo,
in Excel ist alles möglich!
Aus dem Archiv bei Herber (https://www.herber.de/forum/archiv/1052t...isten.html) kommt folgender Code:
Code:
Public Sub ListPrinter()
    'by Ramses
    'Speichert alle installierten Drucker im Array "arrPrinter"
    Const HKEY_current_user = &H80000001
    Dim oReg As Object, i As Long
    Dim strKeyPath As String, strValue As String, msg As String
    Dim arrPrinter As Variant
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
    strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Devices"
    oReg.EnumValues HKEY_current_user, strKeyPath, arrPrinter
    For i = 0 To UBound(arrPrinter)
        oReg.GetStringValue HKEY_current_user, strKeyPath, arrPrinter(i), strValue
        msg = msg & arrPrinter(i) & Replace(strValue, "winspool,", " auf ") & vbCr
    Next
    Set oReg = Nothing
    MsgBox msg, vbInformation, "Druckerliste WMI"
End Sub
Mit etwas Umarbeiten und der Anweisung Application.ActivePrinter=... lässt sich dann sicher etwas machen...