Dim WSH, FSO
Set WSH = CreateObject("wscript.Shell")
Set FSO = CreateObject("scripting.filesystemobject")
Dim I, PrCmd, PDFFile
Const AlreadyPrinted="F:\pdf\AlreadyPrinted"
'Устанавливаем ключ реестра в рабочее состояние
MykeyValue = True
'WSH.RegWrite MyKey, MykeyValue
PDFFolders = Array("F:\pdf\1", "F:\pdf\2") ' пишем столько папок, сколько нам нужно
Printers = Array("HP LaserJet 1020", "HP LaserJet 1020") ' соответствующие принтеры для каждой папки
If FSO.FolderExists(AlreadyPrinted & "\" & Month(Date)) = False Then _
FSO.CreateFolder AlreadyPrinted & "\" & Month(Date)
'Бесконечный цикл (выход по изменению ключа реестра)
Do While MykeyValue
For I= LBound(PDFFolders) To UBound(PDFFolders)
Set PDFFolder = FSO.GetFolder(PDFFolders(I))
PrCmd = (Printers(I))
For Each PDFFile In PDFFolder.Files
If UCase(FSO.GetExtensionName(PDFFile.Name))="PDF" Then
'Печать, как таковая с помошью pdfp или как-нить иначе
'pdfp.exe [options] [drive:][path]<filename>
WSH.Run "c:\pdfp.exe -p """ & PrCmd & """ """ & PDFFile.Path & """" , 1, True
' тут команда перeименования и перемещения уже отпечатанного файла, например
PDFFile.Name= PDFFile.Name & ".printed"
PDFFile.Move AlreadyPrinted & "\" & Month(Date) & "\" & FSO.GetBaseName(PDFFile.Name)
End If
Next
Set PDFFolder = Nothing
Next
'Пауза в мс (а нужна ли, работы ведь хватает:-)
WScript.Sleep Delay * 1000
'Читаем реестр
'MykeyValue = WSH.RegRead(MyKey)
Loop
Set WSH = Nothing
Set FSO = Nothing |