Microsoft KB Archive/81084

-

{| The information in this article applies to:
 * width="100%"|
 * Microsoft Word for Windows, versions 1.0, 1.1, 1.1a, 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c

SYMPTOMS
When you print a multiple-page document to a dot-matrix printer using a single-sheet feed, Windows Print Manager stalls the print job after each page.

CAUSE
Print Manager receives a &quot;Paper Out&quot; message from the printer that causes it to stall.

WORKAROUND
You can use the macros below in Word for Windows to pause the print job between each page so you can add paper.

The following macros prompt you for the number of pages you want to print. Then they determine the number of pages in your document and display the following message:

Ready to print page X. Press OK when the paper is loaded? Choose the OK button to print the listed page or choose the Cancel button to terminate the print job. WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this macro code &quot;as is&quot; without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

Macro for Word for Windows Version 6.0
Sub MAIN StartOfDocument FileSummaryInfo .Update Dim dlg As DocumentStatistics GetCurValues dlg Pages = Val(dlg.Pages) ncopies = 0 On Error Resume Next ncopies = Val(InputBox$(&quot;Print how many copies of each page?&quot;)) If Not Err Then Err = 0 For x = 1 To Pages For i = 1 To nCopies msg$ = &quot;Ready to print copy&quot; + Str$(i) msg$ = msg$ + &quot; of page&quot; + Str$(x) + &quot;. &quot; msg$ = msg$ + &quot;Press OK when the paper is loaded.&quot; If MsgBox(msg$, 1) Then FilePrint .Range = 3, .From = Str$(x), .To = Str$(x) Else i = nCopies x = Pages End If           Next Next End If  End Sub

Macro for Word for Windows Version 2.0
Sub Main StartOfDocument fView = ViewFieldCodes If fView <> 0 Then ViewFieldCodes InsertField &quot;numpages&quot; CharLeft 1, 1 UpdateFields Pages = Val(Selection$) EditClear ncopies = 0 On Error Resume Next ncopies = Val(InputBox$(&quot;Print how many copies of each page?&quot;)) If Not Err then Err = 0 For x = 1 To Pages For I = 1 to nCopies If MsgBox(&quot;Ready to print copy&quot; + Str$(i) + &quot; of page&quot; + Str$(x) \            + &quot;.  &quot; + &quot;Press OK when the paper is loaded?&quot;, 1) Then FilePrint .Range = 3, .From = Str$(x), .To = Str$(x) Else i = nCopies x = Pages End If        Next Next End If    If fView <> 0 Then ViewFieldCodes End Sub

Macro for Word for Windows Versions 1.x
Sub MAIN StartOfDocument Dim dlg As ViewPreferences GetCurValues dlg prefer = dlg.ShowAll If prefer <> 0 Then dlg.ShowAll = 0 ViewPreferences .ShowAll = dlg.ShowAll fview = ViewFieldCodes If fview <> 0 Then ViewFieldCodes InsertField &quot;numpages&quot; CharLeft 1, 1 UpdateFields pages = Val(Selection$) EditClear ncopies = 0 On Error Resume Next ncopies = Val(InputBox$(&quot;Print how many copies of each page?&quot;)) If Not Err Then Err = 0 For x = 1 To pages For I = 1 to nCopies If MsgBox(&quot;Ready to print copy&quot; + Str$(i) + &quot; of page&quot; + Str$(x) \            + &quot;.  &quot; + &quot;Press OK when the paper is loaded?&quot;, 1) Then FilePrint .Range = 2, .From = Str$(x), .To = Str$(x) Else I = nCopies x = Pages End If        Next Next End If    If fview <> 0 Then ViewFieldCodes If prefer <> 0 Then dlg.ShowAll = 1 ViewPreferences .ShowAll = dlg.ShowAll End Sub NOTE: You can run this macro instead of the default FilePrint macro to print multiple pages using single-sheet feed.

STATUS
Microsoft has confirmed this to be a problem in the versions of Word listed At the beginning of this article. This problem was corrected in Word version 7.0 for Windows 95.