WD: Calling One Macro Routine or Function from Another MacroLast reviewed: February 2, 1998Article ID: Q81414 |
The information in this article applies to:
SUMMARYIn Microsoft Word for Windows, you can call macro subroutines and functions that are defined in one macro from within another macro. You can use this technique to create libraries of common routines and avoid having to copy or rewrite procedures you use often.
MORE INFORMATION
Word97For more information about calling macro subroutines and functions, while in the Visual Basic for Applications Editor click the Office Assistant, type "Call," click Search, and then click to view "Call Statement."
All other versions of Word listed aboveSubroutine: To call a macro subroutine from within another macro, use the following syntax:
MacroName.RoutineNameMacroName is the name of the macro containing the routine, and RoutineName is the name of the routine you want to use. The template containing the library routine, or a document to which the template is attached, must be open when the routine is called. Routines stored in the NORMAL.DOT template are always available. For example, if you create a macro called Lib1, which contains the subroutine MyBeep, you can call MyBeep from other macros. The following is the subroutine MyBeep:
Sub MyBeep Beep : Beep : Beep For t = 1 to 100 : Next 'Pause Beep : Beep : Beep End SubThe following example illustrates how you can use the MyBeep subroutine in a macro called SwitchToDotPath:
Sub MAIN MsgBox "This is a test" Lib1.MyBeep End SubFunction: The syntax for using a function that you defined in another macro is similar to that used for calling a subroutine. For example, if you define a function called MyDateTime$(time$) in the Lib1 macro library, you could call that function from another macro, titled CheckDateTime. The following is the MyDateTime$(time$) function:
Function MyDateTime$(time$) mDate$ = Date$() mTime$ = Time$() MyDateTime$ = mDate$ + " " + mTime$ End FunctionYou can call the MyDateTime$(time$) function from the following macro, called CheckDateTime:
Sub Main 'CheckDateTime macro CheckDateTime$ = "91.09.30 11:50 AM" ThisDateTime = Lib1.MyDateTime$(ThisDateTime$) Print ThisDateTime$ If ThisDateTime$ = CheckDateTime$ Then Lib1.MyBeep MsgBox "It's time for lunch!" Else MsgBox "It's not time for lunch yet!" EndIf End Sub REFERENCES"Using WordBasic," by WexTech Systems and Microsoft, pages 58-59 Kbcategory: kbusage kbmacro KBSubcategory: |
Additional query words: 1.x 1.0 1.1 1.1a 2.0 7.0 word95 winword
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |