Habe unten 2 Makros zu einem vereint.
Im 1.Makro wird mir der Druckerport für den "FreePDF XP" Drucker ausgelesen.
Im 2.Makro wird der "FreePDF XP " Drucker aktiv.
Könnte man nicht Zb. wenn Makro 1 "sagt" "FreePDF XP" Drucker ist auf NE02:
das man im 2.Makro die Zeile:
Application.ActivePrinter = "FreePDF XP auf Ne03:"
auf Application.ActivePrinter = "FreePDF XP auf Ne05:" automatisch geändert wird.
Oder so etwas ähnliches.
Die Arbeitsmappe sollte auf verschiedene PC laufen.
Danke & Gruß
Heinz
'1.Makro
Public Sub PDF_Drucker_Einstellen()
Dim Mywsh
Dim Druckers
Dim I
Set Mywsh = CreateObject("WScript.Network")
Set Druckers = Mywsh.EnumPrinterConnections
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
MsgBox ActivePrinter
'2.Makro
Application.ActivePrinter = "FreePDF XP auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"FreePDF XP auf Ne03:", Collate:=True
End Sub