Print a letter document on pre-printed paper

Home Up Search This Site What's New? Audio On CDR Favourites Downloadable files Photo Gallery 2002 Photo Gallery 2003 Photo Gallery 2004/5 Photo Gallery 2006/7 Photo Gallery 2008 Photo Gallery 2009/10 UK Photo Gallery Ireland Photo Gallery Cats Photo Gallery 

 

 

Google
 

 

Many people access the material from this web site daily. Most just take what they want and run. That's OK, provided they are not selling on the material as their own; however if your productivity gains from the material you have used, a donation from the money you have saved, however small, would help to ensure the continued availability of this resource.

Click the appropriate button above to access PayPal.

 

Prepare a letter document for printing, without the letterhead, on pre-printed paper

 

While it is fairly straightforward to create a letterhead document in Word, users may require that document to be printed on pre-headed paper, and there is no straightforward method of printing a document without the letterhead information. The result is that the expensive pre-headed paper is over-printed with the graphics and text from the document.

It is possible to re-colour the text white and set the brightness of graphics to 100% which will produce a 'white-out' effect, but it is a lot of bother when all you want to do is print the document.

With a little foresight, it is possible to automate this procedure.

Let's start by assuming that you already have a letter template c/w a letterhead in the header/footer of the first page. We can use this as the basis of a new template.

The illustrations are from Word 2007, but the principles involved can be applied to all Word versions.

Open the template in Word for editing. Open the header view and you will have something like:

 

Use a screen capture utility. I would recommend SnagIt, which is excellent, and there is a trial version that would enable you to do this. Capture the relevant parts of the header and footer as images and crop them to produce graphics similar to those shown below. You will notice that the 'First Page Footer' tab obscures part of the blue background around the telephone number panel in the example above. SnagIt includes a useful graphics editor that makes light work of removing unwanted parts of the image. Save the two images in your preferred graphics format - jpg works fine for this.

and

 

Save the template with a new name. Then delete the header and footer content.

Insert the two graphics items into the header and footer respectively. Set their layout properties to wrap above and below. Adjust the size to 100% and position the graphics to match their positions on the pre-printed paper. Close the header view and you should end up with a template that looks identical to the original template - see below. Save the changes!

Note:

Some letterhead formats have continuation pages with similar or different graphics and text in the header/footer. In such circumstances create separate graphics from the continuation pages and insert them into the appropriate header/footer.

If you don't have a Word template to begin with, use a scanner on the pre-printed paper to produce an image of the letterhead and crop the header and footer sections, using the graphics editor, to produce graphics similar to those extracted from the template, as above, and create a new template in which to include them.

 

You can now add a macro to the template to 'white-out' the graphics, print the document and restore the graphics: The macro below will address 'floating' graphics of the type suggested above in all the header footer ranges of the document.

 

When the macro is run, a dialog box requiring user input provides the choice to print to plain or pre-printed paper.

 

If the user selects No, the document is printed with the letterhead as shown above. If the user selects Cancel or clicks the white cross in the red corner box, the macro is cancelled and no printing occurs. A message box informs the user what has occurred:

 

If the user selects Yes the letterhead is turned white as shown below, retaining the position it occupied, and the document is printed. The letterhead is then restored to its visible state.

It would be possible to rename the macro to FilePrintDefault thereby intercepting the default print command, but I personally prefer to simply add the macro to a toolbar button.

You may wish also to incorporate printer commands to choose a different printer and/or printer trays within the print routines of the macro. For further information on that see Print to a Specific Printer.

 

Sub PrintLetter()
Dim oDoc As Document
Dim oSection As Section
Dim oHeader As HeaderFooter
Dim oRng As Range
Dim oFooter As HeaderFooter
Dim i As Long

Dim sPrint As String
Set oDoc = ActiveDocument
sPrint = MsgBox("Print to letterheaded paper?", vbYesNoCancel, "Print Letter")
With oDoc
    If sPrint = vbNo Then
        .PrintOut
        Exit Sub
    End If

    If sPrint = vbCancel Then
        MsgBox "User Cancelled", vbInformation, "Print Letter"
        Exit Sub
    End If
   

    For Each oSection In oDoc.Sections
        For Each oHeader In oSection.Headers
            If oHeader.Exists Then
                Set oRng = oHeader.Range
                For i = oRng.ShapeRange.Count To 1 Step -1
                    oRng.ShapeRange(i).PictureFormat.Brightness = 1#
                Next i
            End If
        Next
oHeader
        For Each oFooter In oSection.Footers
            If oFooter.Exists Then
                Set
oRng = oFooter.Range
                For i = oRng.ShapeRange.Count To 1 Step -1
                    oRng.ShapeRange(i).PictureFormat.Brightness = 1#
                Next i
            End If
        Next
oFooter
    .PrintOut
        For Each oHeader In oSection.Headers
            If oHeader.Exists Then
                Set
oRng = oHeader.Range
                For i = oRng.ShapeRange.Count To 1 Step -1
                    oRng.ShapeRange(i).PictureFormat.Brightness = 0.5
                Next i
            End If
        Next
oHeader
        For Each oFooter In oSection.Footers
            If oFooter.Exists Then
                Set oRng = oFooter.Range
                For i = oRng.ShapeRange.Count To 1 Step -1
                    oRng.ShapeRange(i).PictureFormat.Brightness = 0.5
                Next i
            End If
        Next
oFooter
    Next oSection
End With
Application.ScreenRefresh
End Sub