Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
--- 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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige