Avatar of mvp1985
mvp1985
 asked on

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

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?
Microsoft Word

Avatar of undefined
Last Comment
mvp1985

8/22/2022 - Mon
GrahamSkan

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

mvp1985

ASKER
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?
GrahamSkan

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.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
ASKER CERTIFIED SOLUTION
mvp1985

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.
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
mvp1985

ASKER
I have worked around this problem totally by not removing protection anymore, and reworking the entire process.