#1
|
|||
|
|||
Two-sided printing with sequential numbering
I am trying to use the code here to sequentially number multiple copies of a one-page document, with a twist. Rather than adding the code to every document to be numbered, I wanted to add the code to an add-in. To that end, I have the following code: Code:
Public Sub PageSeqNum() '--------------------------------------------------------------------------------------- ' Procedure : PageSeqNum ' Author : BruceM, from code by Doug Robbins at word.mvps.org ' Date : 27-Feb-2015 ' Purpose : Prints a single page the number of times specified, with pages _ sequentially numbered in "Page x of y" format ' Comments : Works on a single page document only '--------------------------------------------------------------------------------------- Const msgPgNum As String = _ "Enter the number of copies you want to print" Const ttlPgNum As String = _ "Print Copies" Const strDefault As String = _ "1" Const strBkMk As String = _ "PageNum" Dim lngNum As Long ' Number of copies to be printed (from input box) Dim lngCur As Long ' Number of current page Dim rngBkMk As Range ' The Range of the SeqNumber bookmark Dim strPrinter As String ' The name of the active printer On Error GoTo PageSeqNum_Error strPrinter = _ ActivePrinter ' Set the printer for duplex printing SetPrinterDuplex _ PrinterName:=strPrinter, _ DuplexSetting:=2 ' More on this in the thread Set rngBkMk = _ ActiveDocument.Bookmarks(strBkMk).Range lngNum = _ Val(InputBox(msgPgNum, ttlPgNum, strDefault)) lngCur = _ 1 While lngCur <= lngNum With rngBkMk .Delete .Text = "Page " & lngCur & " of " & lngNum End With ActiveDocument.PrintOut lngCur = _ lngCur + 1 Wend ProcExit: ' Re-create the bookmark for next time ActiveDocument.Bookmarks.Add _ Name:=strBkMk, _ Range:=rngBkMk ' Reset the printer duplex setting to its original (lngOldDuplex is set within SetPrinterDuplex _ when it is called at the beginning of this procedure) SetPrinterDuplex _ PrinterName:=strPrinter, _ DuplexSetting:=lngOldDuplex Exit Sub PageSeqNum_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") " & _ "in PageSeqNum, basPrintPages" Resume ProcExit End Sub The general idea is that I insert a bookmark named PageNum into the footer of the document to be sequentially numbered, then run the PageSeqNum code via a ribbon icon (that is, run the macro that is in the add-in, in a way that is simple to do). The code for sequential numbering works well enough, except I cannot find a way to make it print on both sides of the page, even when I set the printer to duplex as its default setting and/or set two-sided printing for the document. Brief comment about the code to set duplex: The plan is to detect the original settings (typically one-sided, but not always), and restore that setting at the end. I haven't worked out the details yet, and I may have some questions about that later, but for now I am just trying to solve the basic problem of two-sided printing for this situation. It makes no difference if I omit the procedure calls from the code posted above. If this cannot be made to work we will revert to the old system of copying the original one-page document and paste to a new page, then copy the whole document (two pages now) and paste four more times (ten total), and then the whole thing again ten times to arrive at a hundred pages (the typical number that needs to be printed). Something like that. I have been fighting with this all day, and the work day is almost over. I should have posted sooner, but I mention this now so as not to seem rude if there is a delay before I respond to any suggestions. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How do I do a Sequential Numbering? | gburya | Word VBA | 26 | 07-04-2017 03:29 PM |
Formatting single sided thesis with indented tables for double sided printing | Akshara | Word | 1 | 05-01-2014 01:29 PM |
Sequential page numbering | im_rusahbh | Word VBA | 1 | 12-23-2013 05:28 PM |
Printing Double Sided Cards 4/page HELP PLEASE! | C.J. | Word | 5 | 03-27-2012 07:29 AM |
Sequential Numbering | jdwoods | Word VBA | 7 | 12-16-2011 05:11 AM |