The Update Method

The Update method simply updates the values in a dialog box. This is useful if we assign a variable of type Dialog to a Dialog object and then subsequently one of the settings in the Dialog box is changed. To illustrate, the following code first assigns the dial variable to the Font Dialog object. Then it changes the current font for the selected text. At this point, the Dialog object pointed to by dial is not updated to reflect the new font. The Update method updates this object:

	Dim dial as Dialog
	Set dial = Dialogs(wdDialogFormatFont)
	. . .
	Selection.Font.Name = "Arial"
	. . .
	dial.Update
	dial.Show

By the way, it is not entirely clear what is going on behind the scenes here. For if you insert the following code immediately after the Selection.Font.Name line:

	Set dial2 = Dialogs(wdDialogFormatFont)
	dial2.Display
	dial.Display

you will see a dialog box (the one referred to by dial2) that shows the new font, followed by a dialog box (referred to by dial) that shows the old font. Thus, there appear to be two distinct Dialog objects with index wdDialogFormatFont– one pointed to by dial and one pointed to by dial2!

In any case, I can say for sure that whenever we need to rely on current information from a variable of type Dialog, it is important to first call the Update method.

Get Writing Word Macros, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.