Mit VBS hab ich bis jetzt noch keine Erfahrung. Per Tante Google hab ich mir folgendes Skript zusammengesucht, welches einen Ordner auf neue PDF Dateien überwacht und gegebenenfalls ausdruckt.
Soweit klappt dies auch.
Code:
On Error Resume Next
strFolder = "T:\ordner" 'ohne abschließenden "\", auch bei Root-Folder
WScript.Echo "Druckprogramm gestartet"
strUserFolder = """" & Replace(strFolder, "\", "\\\\") & """"
strComputer = "."
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile("T:\ordner\*.pdf"),true
Set objShell = CreateObject("Wscript.Shell")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _
& "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
& "TargetInstance.GroupComponent= " _
& "'Win32_Directory.Name=" & strUserFolder & "'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
strNewFile = objLatestEvent.TargetInstance.PartComponent
arrNewFile = Split(strNewFile, "=")
strFileName = arrNewFile(1)
strFileName = Replace(strFileName, Chr(34), "")
Select Case LCase(fso.GetExtensionName(strFileName))
Case "pdf" 'Typ in Kleinbuchstaben angeben
objShell.Run """C:\Program Files (x86)\Foxit Software\Foxit Reader\Foxit Reader.exe"" /p """ & strFileName & """"
Case Else
' keine Aktion erforderlich
End Select
Loop
Problem ist, daß ich gerne nach dem Ausdruck das File gelöscht hätte und ich mit den vielen Anführungszeichen nicht so zurecht komme.
z.B:
fso.DeleteFile("T:\rechnungen\11\etiketten\""" & strFileName & """"),true
nach dem Foxit Reader Aufruf funktioniert nicht (keine Fehlermeldung, aber die Files bleiben stehen).
Andere komplette Noob Frage:
Über Google hätte ich nichts gefunden:
Gibt es außer echo keine Möglichkeit einer Bildschirmausgabe?
Z.B. ein Fenster, welches jede gedruckte Datei anzeigt.