Microsoft KB Archive/207785

From BetaArchive Wiki
Knowledge Base


WD2000: Errors Trying to Edit or Create a Macro from Code

Article ID: 207785

Article Last Modified on 6/17/2005



APPLIES TO

  • Microsoft Word 2000 Standard Edition



This article was previously published under Q207785


SYMPTOMS

When you attempt to create or edit a macro that uses the Visual Basic Editor Show property of the wdDialogToolsMacro dialog object, the following error message may appear:

Run-time error '4649': Method 'Execute' of Object 'Dialog' Failed.


Furthermore, if you try to use the WordBasic object with WordBasic commands to create or edit a macro, the following error message may appear:

Run-time error '548': Unable to create or edit macros using the WordBasic object

CAUSE

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. By design, you cannot create or edit a macro using the methods described in the "Symptoms" section of this article.

The following sample Visual Basic for Applications code uses the Edit or Show property of the wdDialogToolsMacro dialog object and results in the error message described in the "Symptoms" section of this article:

CustomizationContext = NormalTemplate
With Dialogs(wdDialogToolsMacro)
   .Name = "MyMacro"
   .Edit = True
   .Execute
End With
                


If you use the WordBasic object with the following WordBasic command line, the error message described in the "Symptoms" section of this article appears:

WordBasic.ToolsMacro Name:="test", Edit:=1, Show:=3
                

RESOLUTION

The following sample code shows you how to create a macro using Visual Basic for Applications commands. The macro creates a new macro called "MyMacro" and inserts it into the NewMacros module of the default Word template project "Normal."

Sub CreateMacro()
   Dim strVBProj As String
   Dim strVBMod As String
   ' Specify the project name for your template or document
   ' and module in the project to store the macro.
   strVBProj = "Normal"
   strVBMod = "NewMacros"
   On Error GoTo cmErrHandler
   With VBE.VBProjects(strVBProj).VBComponents(strVBMod).CodeModule
      .InsertLines Line:=1, String:="Sub MyMacro"
      .InsertLines Line:=2, String:="   ' Created by code."
      .InsertLines Line:=3, String:="End Sub"
   End With
cmErrHandler:
   If Err.Number <> 0 Then
      MsgBox "Error: Specified Project and/or Module does not exist."
   End If
End Sub
                



The previous example creates the following macro:

Sub MyMacro()
   ' Created by code.
End Sub
                



NOTE: Unless you have specifically renamed it to match the document name, the project name is not the same as the template or document name. For example, in the Project Explorer window for "Project(YourTemplateName)", "Project" is the name of your project, not "YourTemplateName".

To rename your project, follow these steps:

  1. In the Project Explorer window, click to select the project name.

For example:

Project(YourTemplateName)

  1. On the Tools menu, click Project Properties.
  2. In the Project Name box, type a unique name for your project.

For more information about naming a project, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type set project properties in the Office Assistant or the Answer Wizard, and then click Search to view the topic.


REFERENCES

For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:

226118 OFF2000: Programming Resources for Visual Basic for Applications



For more information about how to use the sample code in this article, click the article number below to view the article in the Microsoft Knowledge Base:

212536 OFF2000: How to Run Sample Code from Knowledge Base Articles



Additional query words: vb Run time error 4649 Method Execute of Object Dialog Failed 548 Unable to create or edit macros using the WordBasic

Keywords: kbmacroexample kbprb kbdtacode KB207785