Kleiner Optimierungsvorschlag
27.05.2010 08:42:44
Martin
Hallo Tino,
wenn ich auf Abbrechen klicke, zögert das Makro bei mir ein wenig. Das hängt (glaube ich) damit zusammen, dass die Zuweisung des Standarddruckers trotzdem erfolgt (auch wenn eigentlich nichts geändert wird) und dies bei Laserdruckern etwas länger dauert. Deshalb habe ich eine Abfrage eingebaut, ob "Abbrechen" geklickt wurde.
Viele Grüße
Martin
Option Explicit
Sub Drucker_Test()
Dim sPrinter As String
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
sPrinter = ActivePrinter
If Standard_Drucker(sPrinter) Then
MsgBox "Drucker umgestellt auf:" & vbCr & sPrinter, vbInformation
Else
MsgBox "Fehler aufgetreten!", vbCritical
End If
End Sub
Function Standard_Drucker(ByRef sPrinterName As String) As Boolean
Dim objWSHNetwork As Object
On Error GoTo ErrorH:
Set objWSHNetwork = CreateObject("WScript.Network")
sPrinterName = Left$(sPrinterName, InStr(sPrinterName, " auf") - 1)
objWSHNetwork.SetDefaultPrinter sPrinterName
Standard_Drucker = True
ErrorH:
Set objWSHNetwork = Nothing
End Function