Drucker wechseln, pdf-Druck, Drucker zurückstellen
Joachim
ich mir folgenden Code zusammengebastelt:
Sub print_pdf()
Dim oldPrinter As String
Dim mywsh
Dim druckers
Dim i
Dim j As Integer
Dim n As Integer
oldPrinter = Application.ActivePrinter
Set mywsh = CreateObject("WScript.Network")
Set druckers = mywsh.EnumPrinterConnections
'prüfen, ob überhaupt ein pdf-Drucker installiert ist
j = 0
n = druckers.Count / 2
For i = 0 To druckers.Count - 1 Step 2
If Not LCase(druckers.Item(i + 1)) Like "*" & "pdf" & "*" Then
j = j + 1
End If
If j = n Then
MsgBox "Bei Ihnen ist leider kein pdf-Drucker installiert!"
Exit Sub
End If
Next
For i = 0 To druckers.Count - 1 Step 2
If LCase(druckers.Item(i + 1)) Like "*" & "pdf" & "*" Then
mywsh.setdefaultprinter druckers.Item(i + 1)
Exit For
End If
Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.ActivePrinter = oldPrinter
End Sub
Problem: in Excel wird auf den alten Drucker zurückgestellt, in Windows bleibt aber der Standarddrucker auf free.pdf. Auch ein setdefaultprinter oldprinter bringt nix.Wie kann ich auch den Standarddrucker zurückstellen?
Gruss
Joachim