![]() |
#1
|
|||
|
|||
![]() Hi - This is my first post in the Forum - I posted to Utter Access which has a Word forum but they thought that you would be better equipped to answer my question: I have created an 18 page document which contains many "Ref" Fields which are updated from Bookmarks which are accessed through a single Data Page. I have created an update MacroButton which I recorded the actions of Goto the "DocStart" Bookmark - CTRL+Shift+END to select the entire document from that point onward and then Fn+F9 to update all of the fields contained within that range. The button seems to work in that it runs the macro but does not always update all of the Ref Fields. When I don't use the MacroButton and just perform the actions, it seems to update more of the fields but not always all of them. I must add that some of the fields are inside Tables and Text Boxes, but not in Headers or Footers. However there is no clear condition which applies to all of the non-updating fields. I was wanting to create code to loop through all of the "Ref" Fields and Update individually but I cannot seem to extract the contents of the fields in ordr to identify them using the "ActiveDocument.Fields.Item() but haven't been successful as if I try to populate a variable using that code, I get a Type Mismatch error. As I want to share this document with other Coworkers I would love to have complete automation. Any help would be greatly appreciated. Peter
|
#2
|
||||
|
||||
![]()
Ordinarily, you should be able to use code like:
Code:
Sub UpdateFields() Application.ScreenUpdating = False With ActiveDocument .Fields.Update .PrintPreview .ClosePrintPreview End With Application.ScreenUpdating = True End Sub Code:
Sub UpdateFields() Application.ScreenUpdating = False Dim pRange as Range For each pRange in ActiveDocument.StoryRanges Do pRange.Fields.Update set pRange = pRange.NextStoryRange Loop until pRange is Nothing Next Application.ScreenUpdating = True End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]()
Thanks Macropod - I did a count on the fields and was surprised to see 315. As I only created about 50 I was wondering if I could just identify and only update the "Ref" fields.
Thanks - Peter |
#4
|
||||
|
||||
![]()
Updating individual fields is a much slower process than updating all in one go, as each field's type has to be tested. Is there a reason for wanting to take such an approach?
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
![]()
No specific reason other than wondering what other fields I am updating which I may not want updated - However I just tried out the second sub you gave me and it seems to work just fine - very grateful indeed. Nice neat few lines of code :-)
One thing which seems to bother me though is that although I check the "Preserve Formatting" box in Edit Fields", some fields seem to defy preservation and need to be re-formatted manually after updates. |
#6
|
||||
|
||||
![]() Quote:
Quote:
You can use Find/Replace to clear the "Preserve Formatting" attribute from existing fields. To do that: • press Alt-F9 to expose the document's field codes • do a Find/Replace where: Find = ^w\* MERGEFORMAT^w Replace = nothing • press Alt-F9 to hide the document's field codes • press F9 to update the field display. If you're wanting to force a field to display in a particular way (e.g. Bold, Italics, 18pt, Arial), you can use a \* CHARFORMAT switch. To do that: • Select the field of interest and press Shit-F9 to expose it's field code • add a \* CHARFORMAT switch to the end of the field code • format at least the first character of the field code with the font attributes that you want the field to use • press F9 to update the field display.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#7
|
|||
|
|||
![]()
Thanks for the info - getting late now, will give it a shot tomorrow. I am so grateful for your help :-)
|
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
klpw | Excel Programming | 1 | 01-14-2016 08:05 PM |
![]() |
Macer | Word VBA | 8 | 02-09-2015 03:31 PM |
![]() |
awaywithpixie | Word | 1 | 09-10-2013 10:35 AM |
![]() |
Calab | Word | 2 | 06-27-2013 08:55 AM |
![]() |
freefalladdict | Word | 3 | 01-08-2012 02:23 PM |