Q190235: WD97:Run Time Error 4366 Using Application.Run Command
Article: Q190235
Product(s): Word 97 for Windows
Version(s): WINDOWS:97
Operating System(s):
Keyword(s): kbdta kbwordvba word97
Last Modified: 14-NOV-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Word 97 for Windows
-------------------------------------------------------------------------------
SYMPTOMS
========
When you run a Visual Basic For Applications macro containing the
"Application.Run Macroname:=" command in Microsoft Word or in another Office
program to automate Word, you may receive the following error message:
Run Time error '4366' : Unable to run the specified macro.
CAUSE
=====
You have included a template name as part of the Macroname argument string.
RESOLUTION
==========
Remove the template name from the Macroname argument.
WORKAROUND
==========
To avoid naming conflicts among referenced projects, give your procedures unique
names, so that you can call a procedure without specifying a project or module.
STATUS
======
Microsoft has confirmed this to be a problem in the Microsoft products that are
listed at the beginning of this article.
MORE INFORMATION
================
In the online Help, the Run method states that you can use the template name in
the Macroname argument string, and then it shows the following examples as valid
statements:
Application.Run "Normal.Module1.MAIN"
Application.Run "MyProject.MyModule.MyProcedure"
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"
Visual Basic for Applications assigns names to macros in the following order:
project.module.procedure.
When Visual Basic for Applications accesses the Microsoft Word Object model, a
project can be either a template or document with stored procedures. In Visual
Basic for Applications, the Word projects are named in the following manner:
Normal - all modules stored in the Normal.dot
TemplateProject - all modules store in the first file in the Startup
folder (if more than one template is in the startup
folder, Word uses the one that was copied
to the folder first and not by the alphabetical
listing order).
Project - additional startup templates, the template the open
file is based on, or an open saved document with a
module.
The following illustration describes how Visual Basic for Applications handles
Microsoft Word macros of the same name or macros and modules of the same name in
different template and document projects that are active.
In Microsoft Word, if you open a document named MyDoc.doc that is based on the
template MyTemp.dot, both documents have a module called "Newmacros" and a macro
called "MyMacro." At Startup, a template called "MyStart.dot" loads with the
"Normal.dot" global template. Both of these templates have a module called
"Newmacros", and there is a macro called "MyMacro" in the module.
With the three templates and one document active in Microsoft Word, when the
"Macro" dialog box appears, you see the following lines of code:
Normal.NewMacros.Mymacro
Project.NewMacros.Mymacro
Project1.NewMacros.Mymacro
TemplateProject.NewMacros.Mymacro
Open the Visual Basic Editor by pressing ALT+F11. Then press CTRL+R to view the
following in Project Explorer:
Normal(Normal)
Project(MyTemp)
Project(MyDoc)
TemplateProject(MyStart)
If you want to run the macro in MyStart.dot, write your code as follows:
Application.Run "TemplateProject.NewMacro.macro1"
- or -
Normal.NewMacros.Mymacro = Normal.dot
Project.NewMacros.Mymacro = MyTemp.dot
Project1.NewMacros.Mymacro = MyDoc.doc
Additional query words: wordcon 8.0
======================================================================
Keywords : kbdta kbwordvba word97
Technology : kbWordSearch kbWord97 kbWord97Search kbZNotKeyword2
Version : WINDOWS:97
Issue type : kbbug kbprb
Solution Type : kbpending
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.