Using Scripts to Manage Word's Print Options

Sample VBScript scripts that demonstrate how you can both retrieve and configure the Microsoft Word 2003 Print options.

Mapping the Dialog Box to the Word Object Model

The options referenced in the following scripts correspond to the options found on the Print tab of the Options dialog box. To access these options in Microsoft Word 2003, click Tools, click Options, and then click the Print tab. A mapping between the options available in this dialog box and the Microsoft Word object model is shown below.

Print

The scripts shown on this page were tested using Microsoft Word 2003. At least some of the functionality is likely to work on any version of Microsoft Word that supports Visual Basic for Applications (VBA); however, the scripts have not been tested using any of these other versions.

Sample Code for Retrieving Values

Sample script that retrieves the configuration information found on the Print tab of the Options dialog box in Microsoft Word 2003.

On Error Resume Next

Set objWord = CreateObject("Word.Application")
Set objOptions = objWord.Options
Set objDoc = objWord.Documents.Add()

Wscript.Echo "Draft output: " & objOptions.PrintDraft
Wscript.Echo "Update fields: " & _
    objOptions.UpdateFieldsAtPrint
Wscript.Echo "Update links: " & _
    objOptions.UpdateLinksAtPrint
Wscript.Echo "Document properties: " & _
    objOptions.PrintProperties
Wscript.Echo "Field code: " & objOptions.PrintFieldCodes
Wscript.Echo "XML tags: " & objOptions.PrintXMLTag
Wscript.Echo "Default tray: " & objOptions.DefaultTray
Wscript.Echo "Background printing: " & _
    objOptions.PrintBackground
Wscript.Echo "Reverse print order: " & _
    objOptions.PrintReverse
Wscript.Echo "Allow A4/Letter paper resizing: " & _
    objOptions.MapPaperSize
Wscript.Echo "Hidden text: " & objOptions.PrintHiddenText
Wscript.Echo "Drawinf objects: " & _
    objOptions.PrintDrawingObjects
Wscript.Echo "Background colors and images: " & _
    objOptions.PrintBackgrounds
Wscript.Echo "Print data only for forms: " & _
    objDoc.PrintFormsData
Wscript.Echo "Print PostScript over text: " & _
    objDoc.PrintPostscriptOverText

objWord.Quit

Sample Code for Modifying Values

Sample script that sets the Print Hidden text option in Microsoft Word to FALSE.

On Error Resume Next

Set objWord = CreateObject("Word.Application")
Set objOptions = objWord.Options
Set objDoc = objWord.Documents.Add()
objOptions.PrintHiddenText = FALSE

objWord.Quit

The sample scripts are not supported under any Microsoft standard support program or service. The sample scripts are provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.