Microsoft KB Archive/94734

{|
 * width="100%"|

WD: CALL Statement Cannot Accept Variable Argument

 * }

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, 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 &quot;AutoExec.Main&quot;, 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 where 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 &quot;AutoExec.main&quot; 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

Issue type : kbinfo

Technology :