Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Changing Tabs Using the Ruler

Moving Drawing Objects

Standardizing Note Reference Placement

Selecting Printing of Color Pictures

Stubborn Foreign Languages

Sizing the Preview Pane

Moving Rows and Columns With the Mouse

 

Declaring Variables

Summary: Declaring variables in a macro is good programming practice. Here's how to do it and how to make sure they are all declared. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)

If you have ever programmed any macros, you are probably familiar with how you define variables using the Dim keyword. For instance, you can define an integer variable with the name MyVar as follows:

Dim MyVar As Integer

This is very straightforward, and will work fine in your code. You may be tempted to define multiple variables per line, however:

Dim x, y, z As Integer

In some versions of the BASIC language, this will define and initialize three variables, each as an integer. In VBA it also appears to run properly, and no error is generated. However, there is a small problem—only the last variable (z) is actually defined as an integer. You can see how this works by using the following code:

Sub DimTest()
    Dim x, y, z As Integer
    MsgBox "x is type " & VarType(x)
    MsgBox "y is type " & VarType(y)
    MsgBox "z is type " & VarType(z)
End Sub

When you run the macro, the first two message boxes that pop up show that the variable type for x and y are 0, which means uninitialized. Only the last message box (for z) shows a variable type of 2, meaning an integer.

The solution is to make sure that you declare your variables one per line, or using the full syntax for each variable, as in the following:

Dim x As Integer, y As Integer, z As Integer

Tip #731 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003 | 2007

Document and Annotate! One of the easily overlooked tools provided by Word is the ability to add footnotes and endnotes to your documents. WordTips: Footnotes and Endnotes is the definitive resource guide to using these tools to enhance your documents.
 
Check out WordTips: Footnotes and Endnotes today!