Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Mailmerge with memo fields
Message
De
05/11/1998 12:47:26
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00154859
Message ID:
00154906
Vues:
10
>I would like to do a mailmerge with a memo field. Everything works fine until I do a COPY TO a word document. The memo field does not come over. (The COPY TO explains that this is the case.) Is there any way to get a memo field along with the other record data into the word document?
>
>Thanks much for any assistance.
>
>-Nancy
Nacy,
A mailmerge or data insertion you mean ? Here is mmerge sample :
**************************************************
* Start of code
**************************************************

PUBLIC oWordDocument

*** set the LOCALEID to English
nlLocaleId=sys(3004)		&& Save local id
=sys(3006,1033)			&& We will be sending instructions in English
WAIT window nowait "Creating Word Document..."     && Inform user
oWordDocument=createobject("word.basic")	&& Create word object
WITH oWordDocument
  * Remove the rem if you want the user see what's going on in word
  .appshow				&& Show word app - Word 7.0 support
  .filenewdefault       && New file, default template - Will create datasource
  cDSN = "DSN=Visual FoxPro Tables;UID=;PWD=;"
  cSourceDb = "SourceDB="+home()+"\SAMPLES\DATA\Testdata.dbc"
  cSourceType = ";SourceType=DBC;"
  cOther = "Exclusive=No;BackgroundFetch=No;Collate=Machine;"

  cSQLStatement = "SELECT recno() as rcno,* FROM employee"

  * Insertdatabase parms build here for clarifying
  * 35,511 are autoformatting options for grid - ignore
  * 0 Link to source false

  .InsertDatabase(35,511,0, ;
    cDSN+cSourceDb+cSourceType+cOther, ;
    cSQLStatement,,,,,,,1)

  .filesaveas("c:\temp\xxtempmmergedoc",0)			&& Save as a word doc for mailmerge
  .fileclose(1)				&& Close saving
  * Datasource ready, now create mailmerge main document
  * If you have a document template with logo in header&footer etc use it else .filenewdefault
  *	.filenew("c:\temp\prttest.doc")     && New file based on prttest (Logo in header - address in footer)
  .filenewdefault
  * This needs template file already EXISTS !
  * Just create "c:\temp\prttest.doc" for testing
  .MailMergeOpenDataSource("c:\temp\xxtempmmergedoc.doc")  && Set saved file as data source for mailmerge (Directly a table could be set via ODBC)
  .MailMergeEditMainDocument	&& Activate the main document
  .insertmergefield("rcno")
  .insertpara
  .Insert("Dear ")              && Start writing
  .insertmergefield("First_name")   && Insert a merge field - any field in data table
  .Insert(",")
  .insertpara					    && Or +chr(13) to previous
  .Insert("...Some text here..."+chr(13))
  .insertmergefield("Notes") 		&& Memo field
  .Insert("...Some text here..."+chr(13))
  .Insert("Thanks.")
  .insertpara
  .Insert("Yours sincerely")
  .insertpara
  .insertpara
  * Instead of these inserts template could hold the formatted text and
  * mark the mergefield places with bookmarks
  * or totally preset template doc could there be
  *	.editbookmark("Contact",,,,1) && Goto bookmark
  *	.InsertMergeField("Contact")
  *
  * Following address is fictional (Tel. is mine)
  .insert("6200 Science Fiction Street"+chr(13))
  .insert("Somecity, AR 80111"+chr(13))
  .insert("TEL: (+90) 232-278 50 83  FAX: (+90) 232-278 50 82"+chr(13))
  * .MailMergeToDoc       && Merge to a new document - For printer .MailMergeToPrinter
  * .FileSaveAs("c:\temp\frmletters.doc") && If want to save
  *	.MailMergeToPrinter
  *	.Fileexit(2)   && Exit no save - directly print and exit w/o save
ENDWITH
* InsertWordField could also be used but FP is more capable of it so we should have transfered the needed already
* Here the control is passed to word. Sitting and waiting for further process.
*wait window "Data Merged to c:\temp\frmletters.doc" nowait

**** Set the LocaleId to the previous value
=sys(3006,val(nlLocaleId))

**************************************************
* End of code
**************************************************
Preferred wordbasic commands because work both with word97 and word95.
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform