Microsoft KB Archive/187817

= WD: TOC Field Not Updated Properly from Recorded Macro =

Article ID: 187817

Article Last Modified on 8/17/2005

-

APPLIES TO


 * Microsoft Word 6.0 for Macintosh
 * Microsoft Word 6.01 for Macintosh
 * Microsoft Word 6.01 for Macintosh
 * Microsoft Word 6.0 Standard Edition
 * Microsoft Word 6.0a
 * Microsoft Word 6.0c
 * Microsoft Word 95 Standard Edition
 * Microsoft Word 95a
 * Microsoft Word 6.0 Standard Edition

-



This article was previously published under Q187817





SYMPTOMS
If you use a macro to update a TOC (table of contents) field, Microsoft Word may not prompt you to choose either Update Page Numbers Only or to Update Entire Table. Word only updates the page numbers.



CAUSE
By design, Word defaults to Update Page Numbers Only.



WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. You can use a macro to replace the existing table of contents, and in effect, duplicate the Update Entire Table option programmatically.

The following sample macro locates the TOC field and uses the InsertTableOfContents command to replace the existing table of contents and retains all formatting previously applied to the original table. Sub MAIN StartOfDocument          'Move insertion point to start of document. OldVFC = ViewFieldCodes 'Get the current state of ViewFieldCodes. ViewFieldCodes 1         'Turn on Field Codes. EditFindClearFormatting  'Clear EditFind formatting setting. EditFind .Find = "^19 toc"        'Find the first TOC field. InsertTableOfContents .Replace = 1 'Replace current table. ViewFieldCodes OldVFC             'Restore ViewFieldCodes setting. End Sub

