Solved

How to auto update specific form fields of word document, while leaving others untouched

Posted on 2014-11-27
5
27 Views
Last Modified: 2015-04-20
I have a macro that lets me update all form fields of my word doc on closing. However, I need it to only update specific form fields, not all. How would I be able to do that?
0
Comment
Question by:mvp1985
  • 3
  • 2
5 Comments
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 40468731
The question is  a little puzzling. Updating is relevant to fields where some computation is necessary to display text according to data exterior to the field. This could, for instance, apply to a REF field or a DATE field.
Form fields do not reference other data. Therefore a FormField object doesn't have an Update method. You can use the more general Field object Update method, but it won't have any effect.
Here is some code, but I wouldn't expect the update to do anything
Sub UpdateFormFields()
    Dim ffld As FormField
    Dim fld As Field
    Dim strFieldNames As String
    Dim strAryFieldNames() As String
    Dim f As Integer
    
    strFieldNames = "Text1,Text3,Text4"
    strAryFieldNames = Split(strFieldNames, ",")
    For f = 0 To UBound(strAryFieldNames)
        Set ffld = ActiveDocument.FormFields(strAryFieldNames(f))
        Set fld = ffld.Range.Fields(1)
        fld.Update
    Next f
End Sub

Open in new window

0
 

Author Comment

by:mvp1985
ID: 40468761
Ok, I mistakenly said form fields, when I meant REF field. This means I seem to have the following problem: When I update all REF fields, in my document at once using the keyboard shortcut, my filled out form fields loose all their content.  How can I update the REF fields then without loosing the content from the form fields?
0
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 40468818
Form fields can easily will lose their data if  protection is removed, so that should be avoided after form design is complete.

Field updating will happen whenever a form field that has 'Calculate on exit' set loses focus while the document is protected, so try setting that for some or all of the form fields.
0
 

Accepted Solution

by:
mvp1985 earned 0 total points
ID: 40724730
I have worked around this problem totally by not removing protection anymore, and reworking the entire process.
0
 

Author Closing Comment

by:mvp1985
ID: 40733034
I have worked around this problem totally by not removing protection anymore, and reworking the entire process.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

It is often necessary in this forum and others to illustrate Word fields as text with the field delimiters replaced with the curly brackets that the delimiters resemble when field codes are being displayed on the document. This means that the text c…
This is written from a 'VBA for MS Word' perspective, but I am sure it applies to most other MS Office components where VBA is used.  One thing that really bugs me is slow code, ESPECIALLY when it's mine!  In programming there are so many ways to…
The viewer will learn how to make their project stand out over others by learning how to change colors and shapes, add spaces, change directions, and add bullets to their charts.
This video shows where to find the word count, how to display it, and what it breaks down to in Microsoft Word.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now