Standarddrucker definieren
DirkR
der unten stehende Code bereitet mir leider Probleme.
Den Code habe ich in diesem Forum erhalten. Danke nochmals dafür.
Solange ich ganz normal über das Symbol oben in der Leiste drucke funktioniert der Code einwandfrei.
Wenn ich aber einen Druck über einen CommandButton mache startet SetPrinter() nicht.
Kann mir jemand sagen warum das so ist und wie ich den Code dann trotzdem zum Laufen bekomme?
Hier der Code
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call PrinterTest
End Sub
Private Sub PrinterTest()
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"
Call SetPrinter
End If
End Sub
Private Sub SetPrinter()
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
Call PrinterTest
End Sub
Gruß DirkR