I have a user that has to print out about 220 documents averaging 2-3 pages each. When printed using the standard Windows method of Select All - Right-click - Print it overwhelms either the print server or the printer itself. I am looking for a utility that will allow me to process say 5 documents at a time that will do all of the documents in a given directory. I am hoping this will alleviate strain on the print server and will also allow the user to not have to babysit his print jobs. I found one that lets you schedule a print job for a certain time, but (and maybe this isn't a deal breaker) the spelling in the program is atrocious.
-
What versions of windows are you using? – Chopper3 Nov 11 '10 at 14:10
-
also, can you include the name of the program you found already? – MattB Nov 11 '10 at 16:16
-
What kind of documents? Some solutions only work well, or at all, with certain kinds. – John Gardeniers Nov 11 '10 at 21:40
-
Why not rather understand the reason for the real problem and work out why the spooler dies? This would b a more general solution, and certainly seems more robust. What symptoms/errors is the printing subsystem reporting? – Pekka Jun 28 '14 at 14:27
2 Answers
Answering an old question to build reputation points :P
This VBS opens and prints a word doc:
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("c:\scripts\inventory.doc")
objDoc.PrintOut()
objWord.Quit
This VBS loops through files in a folder:
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
This VBS causes the PC to wait 60 seconds, so as not to overwhelm the print server:
WScript.sleep 60000
Combining these:
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
Change your "objStartFolder" to the folder where the word docs are located, and make sure there are only word docs in that folder. Save that code to a text file and change the extension to "vbs". It can be launched via double-click or by windows scheduler, so you can launch it in the middle of the night or wotnot.
![](../../users/profiles/228334.webp)
- 121
- 3
(Assuming you're talking about MS Word) I'm not a Word expert by any stretch, but you could use a bit of VBA to do the trick, launching winword.exe from a script. I've seen it done, but never got sufficiently involved to provide any more info.
![](../../users/profiles/56640.webp)
- 5,222
- 3
- 16
- 20