批量文件打印

批量文件打印

我有一个用户需要打印大约 220 份文档,平均每份 2-3 页。使用 Windows 标准方法“全选 - 右键单击​​ - 打印”进行打印时,打印服务器或打印机本身会不堪重负。我正在寻找一个实用程序,可以让我一次处理 5 份文档,并处理给定目录中的所有文档。我希望这可以减轻打印服务器的压力,也让用户不必照看打印作业。我找到了一个可以让您在特定时间安排打印作业的程序,但(也许这不是一个大问题)程序中的拼写太糟糕了。

答案1

回答一个老问题来积累声誉点数: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 使 PC 等待 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 调度程序启动,因此您可以在半夜或晚上启动它。

答案2

(假设您说的是 MS Word)我绝对不是 Word 专家,但您可以使用一些 VBA 来实现这个目的,即从脚本启动 winword.exe。我见过有人这样做,但从未深入研究过,因此无法提供更多信息。

相关内容