Avatar of N2435
N2435Flag for United States of America asked on

Word form field codes printing out rather then their text values.

Using the Visual Studio 2010, I have a VB application that exports data from the application,
to a Microsoft 2010 Word template.
In the template I have created tags using the Word's Form Filed tool.  
Example:  <<Letter Date>>
The app successfully exports data and fills the above form field with today's
date.  But when I print the document the <<Letter Date>> is printed rather
then the date.
Things I've tried:
In the Microsoft Word options ->Advanced-> under "Show document content",
I have ensured that the "Show field codes instead of their values" is un-clicked.
Also in Word options under "Print"
I've ensured that the "Print field codes instead of their values" is un-clicked.

But when I print the Document, the field codes <<Letter Date>> still prints rather
then it's contents, todays date.
Microsoft ApplicationsMicrosoft Word.NET Programming

Avatar of undefined
Last Comment
N2435

8/22/2022 - Mon
ASKER
N2435

thanks
GrahamSkan

If the field looks like <<this>>  then it is probably a mail merge field. Mail merge fields are used on mail merge main documents. Mail merge can be used to produce outputs where the fields are replaced by text from a datasource.

The output can be another document, printer, email or fax.

Can you post an example, please?
Jacques Bourgeois (James Burger)

This is how it goes in 2007, so I suppose it does the same in 2010:

Go in the Options : Office button, Word Options in the lower right.

Advanced tab... Print section

Uncheck Print field codes instead of their values
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
ASKER
N2435

Please see attached word doc that has a copy of my code and
a word doc that has one form field.

Please note in my original post:
Things I've tried:
In the Microsoft Word options ->Advanced-> under "Show document content",
I have ensured that the "Show field codes instead of their values" is un-clicked.
Also in Word options under "Print"
I've ensured that the "Print field codes instead of their values" is un-clicked.

Thanks
Public-Function-createNewLetter.docx
TEST01.docx
GrahamSkan

Intermediate report.

What you are seeing is not the field code, but the original text in the Form Field that your code is trying to replace.

The code is in .Net, so it will take me a while to test. Meanwhile here are a couple of points to note.

Your sample document is unprotected. For Form Fields to work properly the document should be protected for filling in forms. Hopefully your actual document is so protected.

Secondly you are going through a bit of code to copy the original document. It would be easier to treat the original as a template and to use the Documents.Add. This will create a new document. Otherwise there is a slight danger of confusing the new document with the original.
ASKER CERTIFIED SOLUTION
GrahamSkan

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ASKER
N2435

I have modified my code similar to the code as shown in "GrahamSkan" response.   I did not
however include the 'WordDoc.PrintOut()".

My intention is to have the Word document remain open, and have  the user :
    1)  proof read,
    2)  make any corrections.

Then if everything is good, do  the Word's FILE->Print, and then a File->Save_as .

With the modifications to my code, the application will still show the today's date on the screen.
But when I the do the FILE-> print, the <<Letter Date>> is printed rather than the date.

Also the display on the screen now shows the <<Letter Date>> , thus not allowing for a
FILE->save as of the corrections made  be the user.

Please note I am so grateful for the review of my code and the great suggestions to make
my code more efficient.

I have tried the FILE->Pint  on several  different printers, same result.    

Again thanks, and a very Merry Christmas
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
ASKER
N2435

I have resolved my printing issues.
Steps taken:
1)      Used most of the code submitted by  GrahamSkan Posted on 12/17/2017.
2)      Ensured that the source template was a "docx" type.  (It was not in my initial post)
3)      Besides :
        a)  In the Microsoft Word options ->Advanced-> under "Show document content",
               I have ensured that the "Show field codes instead of their values" is un-clicked.
        b)  Also in Word options under "Print"
               I've ensured that the "Print field codes instead of their values" is un-clicked.

          There is another Word options that I changed:
       c) under "Display" -> "Printing options", I needed to unclick the "Update fields
            before Printing".

Thanks to all who responded to my problem, especially to GrahamSkan!

I feel this incident is solved and should be closed