How To Use Code to Print a Word Document in a General Field (153675)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b
  • Microsoft Visual FoxPro for Windows 6.0

This article was previously published under Q153675

SUMMARY

If a general field contains an embedded or linked Word document, you can print the Word document by using code and OLE automation.

MORE INFORMATION

For more information about the behavior of embedded Word documents, please see the following articles in the Microsoft Knowledge Base:

105714 Document Object Margins Default to Zero Inches

121049 Wrong Page Size for Word Document Object Opened to Edit

IMPORTANT: If you are using the APPEND GENERAL command, or Insert Object from the Edit menu in the general field to create a new Word document, the document may not print correctly if you do not follow the guidelines published in Microsoft Knowledge Base article Q105714 (see above). NOTE: This code sample only works with Word 95. It does not work with Word 97.

Code Sample

The following code demonstrates how to print the document.
CREATE TABLE myword (wordfld G)
APPEND BLANK
APPEND GENERAL wordfld CLASS "Word.Document"
** The above lines are for demonstration only
** Normally the table will already exist and contain the document

frmDummy = CREATEOBJECT("Form")
frmDummy.ADDOBJECT("objWordDoc","OleBoundControl")
frmDummy.objWordDoc.ControlSource = "wordfld"
frmDummy.objWordDoc.DoVerb(1) &&starts an instance of Word
objWordInst = GETOBJECT("","Word.Basic") &&create a reference to Word
** set paper size - see Q121049 referenced above
objWordInst.FilePageSetup(,,"1","1",,"1","1","8.5 in","11 in")
objWordInst.Insert("Brown Shoes Don't Make It")
objWordInst.AppHide
objWordInst.FilePrint
WAIT WINDOW "Printing document" TIMEOUT 5
objWordInst.AppClose
RELEASE objWordInst
				

Modification Type:MajorLast Reviewed:10/15/2003
Keywords:kbcode KB153675