Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Standarddrucker definieren

Forumthread: Standarddrucker definieren

Standarddrucker definieren
DirkR
Hallo Excelgemeinde,
ich stöbere nun schon einige Zeit im Forum, aber finde nicht das Passende.
Ich habe eine Arbeitsmappe in der über CommandButton Tabellen gedruckt werden.
Leider kommt es in unserem Netzwerk oft vor, dass der Standarddrucker in den einzelnen Bereichen auf:"Microsoft Office Document Image Writer" definiert wird.
Dies fange ich mit folgendem Code ab:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Left(ActivePrinter, 11) = "FP_MultiDoc" Or _
Left(ActivePrinter, 10) = "FreePDF XP" Or _
Left(ActivePrinter, 38) = "Microsoft Office Document Image Writer" Then
Cancel = True
MsgBox "Bitte definieren Sie einen Standardrucker!", vbInformation, "Es ist kein  _
Standarddrucker definiert"
End If
End Sub

Nun hätte ich gerne, dass anstelle der MsgBox ein Auswahlfenster mit den möglichen Druckern erscheint und ich diesen dann durch clicken als Standard definieren kann.
Ich hoffe auf eure Hilfe!!!
Gruß DirkR
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Standarddrucker definieren
03.04.2010 07:19:57
Hajo_Zi
Hallo Dirk,
Application.Dialogs(xlDialogPrinterSetup).Show

AW: Standarddrucker definieren
03.04.2010 14:53:37
DirkR
Hallo Hajo,
danke für deine Antwort.
Wenn ich "Application.Dialogs(xlDialogPrinterSetup).Show" verwende, sende ich den Druckauftrag an den ausgewählten Drucker.
Ich möchte aber in Windows den Standarddrucker definieren.
Gruß DirkR
Anzeige
--- noch offen ---
03.04.2010 15:20:29
DirkR
noch offen...
Ein Beispiel
03.04.2010 15:46:00
Nepumuk
Hallo,
Public Sub Beispiel()
    Dim objWMI As Object, objItem As Object
    If Application.Dialogs(xlDialogPrinterSetup).Show Then
        Set objWMI = GetObject("winmgmts:\\.\root\cimv2").ExecQuery( _
            "Select * from Win32_Printer")
        For Each objItem In objWMI
            If Cbool(InStr(1, Application.ActivePrinter, objItem.Name)) Then
                objItem.SetDefaultPrinter
                Exit For
            End If
        Next
        Set objWMI = Nothing
        Set objItem = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Ein Beispiel
03.04.2010 18:38:00
DirkR
Hallo Nepumuk,
super, genau das habe ich gesucht!!!
Vielen Dank!
Gruß Dirk
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige