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, 10053 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Drucker und Scanner
gelöst PCL-Drucker drucken nur Hieroglyphen (5)

Frage von diwaffm zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...