Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Problems with TablesOfContents.Update in XP

Posted on 2003-11-14
15
Medium Priority
?
972 Views
Last Modified: 2008-03-06
Hi!

We have a number of macros set up for our book projects. Everything worked swell but after upgrading to Windows XP something strange happened. Suddenly TablesOfContents.Update wouldn't run.

Error message:

  "Method 'Update' of object 'TablesOfContents' failed"

Code:

  If (ActiveDocument.TablesOfContents.Count > 0) Then
        ActiveDocument.TablesOfContents(1).Update          '// We get here but the 'Update' method won't run
  End If


The method 'UpdatePageNumbers' works fine though.

If you could give me an explanation and/or a solution I would be most grateful.

Thanks!
0
Comment
Question by:Hermund
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 7
15 Comments
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9750024
Although I don't have Windows XP here, you could try re-recording the macro and see what code you get.  Get a document on your screen that contains a Table of Contents.  Then go to Tools, Macro, Record New Macro, give it a name, and go through the steps you want the macro to perform.  After ending recording the macro, press Alt F11 to view the code.  You can then see how and if it differs from your previous code.

0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9750055
0
 

Author Comment

by:Hermund
ID: 9762518
Hi!

Thanks for the reply!

I tried what you suggested and the following macro code was created:

Sub TOCupdate()
'
' TOCupdate Macro
' Macro recorded 17.11.2003 by hermund
'
    CommandBars("Outlining").Visible = True
    WordBasic.UpdateTableOfContents
End Sub


When I run this macro only the page numbers are updated, not the titles. Strange!

The Update TOC function (in Tools/Outlining) works fine.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9763336
Did you try adding:

Dim TableOfContents as Object

?
0
 

Author Comment

by:Hermund
ID: 9763362
I'm not sure I understand.

Like this?

Sub TOCupdate()
'
' TOCupdate Macro
' Macro recorded 17.11.2003 by hermund
'
    Dim TableOfContents As Object

    CommandBars("Outlining").Visible = True
    WordBasic.UpdateTableOfContents
End Sub
0
 

Author Comment

by:Hermund
ID: 9763376
When you run the "Update TOC" commando you're asked whther to update page numbers only or update all. Default is page numbers only. That might be the reason why only the page numbers are updated when using TOCupdate.
0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9763377
Usually, it is good practice to declare variables.  If you use Option Explicit, it will require you to declare all variables in your project.  But just try for now:

Dim TableOfContents As Object

Sub TOCupdate()
'
' TOCupdate Macro
' Macro recorded 17.11.2003 by hermund

    CommandBars("Outlining").Visible = True
    WordBasic.UpdateTableOfContents
End Sub
0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9763412
Go to Visual Basic Help (Alt F11 - Help) and type in TOC.  


ActiveDocument.TablesOfContents.Update 'should update entire table
ActiveDocument.TablesOfContents.UpdatePageNumber 'should update page numbers only


 

 
0
 

Author Comment

by:Hermund
ID: 9763466
I'm afraid it didn't help.

Could it be that there's a bug in the XP version?
0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9763518
hmmm - it could be - my home PC has XP and I'll have to try it there....will do that tonight as soon as I get home and let you know what I find.

0
 

Author Comment

by:Hermund
ID: 9763541
Thanks a lot!
0
 

Accepted Solution

by:
Hermund earned 0 total points
ID: 9770355
Hi there!

I figured out the problem now. I had called my method updateFields(). Apparently a new built-in method in the XP version had the same name. After changing the name everything worked swell.

Thanks for your help!

Hermund
0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 9770872
Great! - you can go to Community Support and ask for a refund of your points.
0
 

Author Comment

by:Hermund
ID: 9770972
Done!

Thanks!

0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Selection object is designed for user interaction. It has a Range property, so it can be used in most places that a Range object can. Recorded macros must use the Selection because they are simply copying what the user is doing. A Range prope…
Nice table. Huge mess. Maybe this was something you created way back before you figured out tabs or a document you received from someone else. Either way, using the spacebar to separate the columns resulted in a mess. Trying to convert text to t…
This video walks the viewer through the process of creating Hyperlinks for the web and other documents. Select the "Insert" tab: Click "Hyperlink":  Type "http://" followed by a web address to reference a website or navigate to a document to ref…
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.

609 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