Article ID: 97644
Article Last Modified on 7/15/2004
APPLIES TO
- Microsoft Visual FoxPro 3.0 Standard Edition
- Microsoft Visual FoxPro 5.0 Standard Edition
- Microsoft Visual FoxPro 6.0 Professional Edition
- Microsoft FoxPro 2.5b
- Microsoft FoxPro 2.5a
- Microsoft FoxPro 2.0
- Microsoft FoxPro 2.5b for MS-DOS
- Microsoft FoxPro 2.5a
This article was previously published under Q97644
SUMMARY
Memo fields provide a powerful way to implement text merges in FoxPro. The information below provides the code to print the contents of memo fields containing the text for a text merge.
MORE INFORMATION
In this example, the memo field contains the text to be merged with the text merge components. The page spacing (top, bottom, and side margins) is controlled within the memo field. A sample memo field will appear much like this:
<<DATE()>> <<ALLTRIM(PROPER(CONTACT))>> <<ALLTRIM(PROPER(COMPANY))>> <<ALLTRIM(PROPER(ADDRESS))>> <<ALLTRIM(PROPER(CITY))>>, <<ALLTRIM(STATE)>> <<ALLTRIM(ZIP)>> Dear <<ALLTRIM(PROPER(CONTACT))>>: This area includes the body of a letter to be sent to the contact. Sincerely, Author's name
The following code prints the letter from the memo field shown above. The text merge components (the fields and such) are in the SAMPLE\DBFS subdirectory of FoxPro for MS-DOS and the SAMPLE\ORGANIZE\DBFS subdirectory of FoxPro for Windows.
CLEAR SET PRINTER ON SET TEXTMERGE ON && enable evaluation of components SET TALK OFF && prevents printing of commands SET TEXTMERGE DELIMITERS TO && set default delimiters SET MEMOWIDTH TO 80 && sets memo width for 80 columns USE Clients SCAN && forces top-down processing FOR J=1 TO MEMLINES(<memo>) && processes each line in memo field X="\"+MLINE(<name of memo field>,J) &X && macro substitution ENDFOR ENDSCAN
NOTE: If the print job doesn't print until you quit FoxPro, see the following article in the Microsoft Knowledge Base:
102203 BUG: Print Job Is Not Released to Printer
Additional query words: VFoxWin FoxDos FoxWin
Keywords: kbhowto KB97644