
Tips.Net > WordTips Home > Creating Macros > Subroutines and Functions > Understanding Subroutines
Summary: Subroutines are a mainstay of macro programming. This tip explains what subroutines are, why you would want to use them, how to create them, and how to pass parameters to them. Every VBA macro programmer needs to understand this information. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)
When you write macros, you are using a programming language called Visual Basic for Applications (VBA). This language is based on the BASIC programming language, with extensions specific to Word. One of the features of the languages is the capability to use subroutines in your programs. For instance, consider the following code, written in VBA:
Sub Macro1()
TestSub
End Sub
Sub TestSub()
StatusBar = "In the macro"
End Sub
The Macro1 macro does nothing but call a subroutine (TestSub), which in turn prints a message on the status bar. The subroutine then returns control to the main program.
You can have as many subroutines in a macro as you desire. The purpose of each should be to perform common tasks so you don't have to rewrite the same code all the time. You can also pass parameters to your subroutines. These parameters can then be acted upon by your subroutine. For instance, consider the following macros:
Sub Macro1()
A = 1
PrintIt A
End Sub
Sub PrintIt(x)
StatusBar = x
End Sub
This is a simple macro that sets a variable, and then passes it in a subroutine call to PrintIt. This subroutine displays the value of the variable on the status bar, and then returns to the calling program. Notice that the subroutine does not use the same variable name as it was passed. This is because VBA reassigns the value of x (what the subroutine expects to receive) so that it matches the value of A (what the program is passing to the subroutine). The important thing to remember in passing parameters to subroutines is that your program must pass the same number of parameters as the subroutine expects, and that the parameters must be of matching types and in the proper order.
Tip #1556 applies to Microsoft Word versions: 97 2000 2002 2003
Ultimate Library! An amazing resource that brings together, in one place, the collected knowledge of everything ever published in WordTips. The library combines two powerful elements to make you more productive: solutions and convenience. Here's where you get your own copy of everything ever published in WordTips.
Check out WordTips Ten-Year Library today!
Uncover how you can master the full potential of printing your documents. Everything you wanted to know about printing and printers, using Word. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips