View Full Version : Print directory full of Word files
doctorgonzo
07-24-2003, 11:28 AM
I need to print out dozens of Word files located in a directory. Is there a quicker way to do this than opening each file individually and printing it?
If you're using Windows XP, there should be a shortcut to your printer in the Send To folder (right click on a file, hover the cursor over Send To). Just select all you want to print, right click on any selected file and send them to the printer. Beware - if you send too many (and I don't know how many is too many) at one time, the printer may choke.
If you're using Win9x, you'll need to add a shortcut to the Send To folder, which is located in C:\Windows\Send To, then follow the procedure above.
If you do send too many at once...which you'll know because everything will come to a standstill...open the printer through Control Panel>Printer and tell it to delete all print jobs. Be patient...it can take what seems like days to purge the queue. Then try again, selecting fewer files.
doctorgonzo
07-24-2003, 12:00 PM
That's essentially what I am doing now. I was just wondering if there is something that will print everything without having to open every single document in Word first, because that is taking forever. Oh well, sometimes you have to do things the hard way.
David_Jones
07-28-2003, 01:08 AM
Can't you just select all of the files, and click on File - Print (within Windows Explorer)?
I'm sure that works for older versions of Windows / Office.
David.
doctorgonzo
07-28-2003, 09:08 AM
That just takes forever as it opens every document in a new instance of Word.
I was hoping there would be some kind of utility out there that would open and format them muhc more quickly than Word. I guess not.
sdkfz
07-28-2003, 11:10 AM
doctor,
I am trying to get 1000's of html's to print in word and am close with this macro...
Dim MyDir, NameMatch, MyName, StatusMsg, Contin
MyDir = InputBox("Enter the directory of the files: (please end with '\' e.g.: c:\temp\)")
If (MyDir = "") Then
MsgBox ("No directory entered. Exiting...")
End
End If
NameMatch = InputBox("Enter the string to look for in the file name. (Blank means all files):")
StatusMsg = "Directory to read files from: " + MyDir + "."
If (NameMatch = "") Then
StatusMsg = StatusMsg + " All files will be printed."
Else
StatusMsg = StatusMsg + " Only files with '" + NameMatch + "' will be printed."
End If
If (MsgBox(StatusMsg, vbOKCancel) = vbCancel) Then ' status message on what we are going to do and confirm we want to do it
End ' Cancel selected so exit
End If
ChangeFileOpenDirectory MyDir ' set the default directory to the directory entered
MyName = Dir(MyDir) ' Retrieve the first file in the directory.
Do While MyName <> "" ' Start the loop.
If (InStr(MyName, NameMatch)) Then ' see if the name of the document contains the string
Application.Documents.Open (MyName) ' open the document
' The following sets the margins for the page to .3 so that it fits on one page.
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = InchesToPoints(0.3)
.BottomMargin = InchesToPoints(0.3)
.LeftMargin = InchesToPoints(0.3)
.RightMargin = InchesToPoints(0.3)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(8.5)
.PageHeight = InchesToPoints(11)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With
ActiveDocument.PrintOut ' print the document
ActiveDocument.Close (False) ' close the document
End If
MyName = Dir() ' Get next file .
Loop
End Sub
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.