WD: CALL Statement Cannot Accept Variable Argument

ID: Q94734


The information in this article applies to:
  • Microsoft Word for Windows, versions 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c
  • Microsoft Word for Windows 95, versions 7.0, 7.0a
  • Microsoft Word for the Macintosh, versions 6.0, 6.0.1, 6.0.1a


SYMPTOMS

In Word, you can use the WordBasic CALL statement to run another macro; however, you cannot specify the name of the subroutine by using a string variable or concatenated strings.


WORKAROUND

In cases where the name of the macro originates from a string variable (such as when you type information in a dialog box), you can use the following macro code:

If A$ contains the name of the macro, use this statement:


ToolsMacro .Name = A$, .Run 
In cases where you call a literal string such as "AutoExec.Main", you must remove the quotation marks, as shown in the following example:

CALL AutoExec.Main 
NOTE: You cannot pass parameters to a macro by using the Run method.


MORE INFORMATION

The CALL statement uses the following syntax to call another subroutine


CALL <subroutinename> 
where <subroutinename> is the name of the subroutine.

In WordBasic, you can also use the CALL statement to run another macro using the following syntax:

CALL macroname.Main   'runs entire macro (the Main subroutine) 
In all cases, the argument for the CALL statement must be explicitly defined. For example, both

CALL A$ 
-and-

CALL "AutoExec.main" 
cause the error:
WordBasic Error 124: Undefined Sub or Function.

Additional query words: function sub routine err msg errmsg macword

Keywords : kbmacro winword macword word6 winword2
Version : MACINTOSH:6.0,6.0.1,6.0.1a; WINDOWS:2.0,2.0a,2.0a-CD,2.0b,2.0c,6.0,6.0a,6.0c,7.0,7.0a
Platform : MACINTOSH WINDOWS
Issue type : kbinfo


Last Reviewed: October 21, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.