Назад | Перейти на главную страницу

Пакетная печать файлов

У меня есть пользователь, которому нужно распечатать около 220 документов, в среднем по 2-3 страницы каждый. При печати стандартным методом Windows «Выбрать все» - «Щелкните правой кнопкой мыши» - «Печать» перегружается либо сервер печати, либо сам принтер. Я ищу утилиту, которая позволит мне обрабатывать, скажем, 5 документов за раз, которая будет обрабатывать все документы в данном каталоге. Я надеюсь, что это снизит нагрузку на сервер печати, а также позволит пользователю не присматривать за своими заданиями на печать. Я нашел тот, который позволяет вам планировать задание на печать на определенное время, но (и, возможно, это не является нарушением сделки) орфография в программе ужасна.

Отвечая на старый вопрос, чтобы заработать очки репутации: P

Этот VBS открывает и печатает документ Word:

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 из скрипта. Я видел, как это было сделано, но никогда не принимал достаточного участия, чтобы предоставить дополнительную информацию.