Пакетная печать файлов
У меня есть пользователь, который должен распечатать около 220 документов, в среднем по 2-3 страницы каждый. При печати с использованием стандартного метода Windows "Выбрать все" - щелчок правой кнопкой мыши - "Печать" приводит к перегрузке либо сервера печати, либо самого принтера. Я ищу утилиту, которая позволит мне обрабатывать, скажем, 5 документов за раз, которые будут выполнять все документы в данном каталоге. Я надеюсь, что это уменьшит нагрузку на сервер печати, а также позволит пользователю не приходиться присматривать за своими заданиями на печать. Я нашел один, который позволяет вам запланировать задание на печать на определенное время, но (и, возможно, это не нарушает условия соглашения) написание в программе ужасно.
2 ответа
Отвечая на старый вопрос, чтобы построить очки репутации:P
Этот VBS открывается и печатает слово doc:
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("c:\scripts\inventory.doc")
objDoc.PrintOut()
objWord.Quit
Этот VBS просматривает файлы в папке:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Scripts"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
Эта VBS заставляет ПК ждать 60 секунд, чтобы не перегружать сервер печати:
WScript.sleep 60000
Объединяя эти:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Scripts"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open(objFile)
objDoc.PrintOut()
objWord.Quit
WScript.sleep 60000
Next
Измените ваш "objStartFolder" на папку, в которой находятся документы Word, и убедитесь, что в этой папке есть только документы Word. Сохраните этот код в текстовом файле и измените расширение на "vbs". Его можно запустить с помощью двойного щелчка или с помощью планировщика Windows, так что вы можете запустить его посреди ночи или просто так.
(Предполагая, что вы говорите о MS Word) Я не эксперт по Word в любом случае, но вы могли бы использовать немного VBA, чтобы сделать трюк, запустив winword.exe из скрипта. Я видел, как это было сделано, но никогда не был достаточно вовлечен, чтобы предоставить больше информации.