Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS PDF drucken

Frage Entwicklung VB for Applications

Mitglied: mixmastertobsi

mixmastertobsi (Level 1) - Jetzt verbinden

29.10.2010 um 09:03 Uhr, 10183 Aufrufe, 3 Kommentare

Hallo zusammen,

eins vorweg - ich bin gespannt, ob es für mein Problem eine Lösung gibt.

Aufgabenstellung:
In einem Netzwerk Ordner sind PDF Dateien, die automatisch gedruckt werden sollen. Das VBS läuft als Dienst im Hintergrund. Die PDF Dateien werden automatisch auf dem Standardrucker gedruckt. Dies alles funktioniert jeduch nur, wenn ein Benutzer angemeldet ist. Sobald der User sich abmeldet, werden die PDF-Dokument zwar noch geduckt, jedoch nicht mehr auf dem richtigen Drucker. Irgend was bringt das System da durcheinander.

Meine Frage daher - wie kann ich per VBS eine PDF Datei drucken und den Druckername angeben? Danke!

kleiner Auszug aus dem Skript
set objShell = CreateObject("WScript.Shell")
iErrorCode = objShell.Run("AcroRd32.exe /p /h " & objitem.path)
Mitglied: AndreasHoster
29.10.2010 um 09:18 Uhr
Unter was für einem User Account läuft den der Dienst?
Vermutlich System, oder? Und vermutlich Interaktiv mit Desktop?

Wenn ja, lass den Dienst unter einem eigenem User laufen, der den richtigen Drucker als Standarddrucker definiert hat.
Bitte warten ..
Mitglied: 60730
29.10.2010 um 15:57 Uhr
Moin,

per VBS eine drucken und den Druckername angeben

Du mußt das anders lösen....
Der druckt zu 100% auf den Standarddrucker (siehe auch Andreas Antwort)

  • xyz im Script ist der Drucker, auf dem gedruckt werden soll und den stellst du so als Standarddrucker ein.


01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:" _ 
03.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
04.
Set colInstalledPrinters =  objWMIService.ExecQuery _ 
05.
    ("Select * from Win32_Printer Where Name = 'xyz'") 
06.
For Each objPrinter in colInstalledPrinters 
07.
    objPrinter.SetDefaultPrinter() 
08.
Next 
09.
 
10.
set objShell = CreateObject("WScript.Shell") 
11.
iErrorCode = objShell.Run("AcroRd32.exe /p /h " & objitem.path)
Gruß
Bitte warten ..
Mitglied: 76109
31.10.2010 um 13:28 Uhr
Hallo mixmastertobsi!

Andere Möglichkeit in etwa so:
01.
Const AcrobatReader = """C:\Program Files (x86)\Adobe\Reader 9.0\Reader\AcroRd32.exe"" /t ""%1""" 
02.
Const PrinterDriver = """C:\Windows\System32\Drivers\UsbPrint.sys""" 
03.
Const PrinterName = """Canon MX850 Series Printer""" 
04.
Const PrinterPort = """USB002""" 
05.
 
06.
Dim objShell, CmdLine 
07.
     
08.
Set objShell = CreateObject("WScript.Shell") 
09.
 
10.
CmdLine = AcrobatReader & " " & PrinterName & " " & PrinterDriver & " " & PrinterPort	 
11.
	 
12.
objShell.Run Replace(CmdLine, "%1", objItem.path)
Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
Herausfinden, ob PDF farbig oder sw ist (3)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
gelöst Zwei PDF-Dateien zusammen führen per Batch (3)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien (PDF) umbenennen via batch, teilw. Dateinamen übernehmen, neues Präfix (6)

Frage von brause1701 zum Thema Batch & Shell ...

Batch & Shell
Adobe PDF, Custom Property (6)

Frage von DanielBodensee zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (14)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Viren und Trojaner
Wie werde ich den Mist "fanli90" wieder los? (12)

Frage von Taumel zum Thema Viren und Trojaner ...