代码如下:
Implements IDTExtensibility2
'Global object references
Public appHostApp As Word.Application
Private WithEvents cbbButton As Office.CommandBarButton
Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnConnection(ByVal _
Application As Object, ByVal ConnectMode As _
AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst _
As Object, custom() As Variant)' 存储启动引用
Set appHostApp = Application' 添加命令条
Set cbbButton = CreateBar()
End Sub
Private Sub IDTExtensibility2_OnDisconnection(ByVal _
RemoveMode As AddInDesignerObjects.ext_DisconnectMode, _
custom() As Variant)RemoveToolbar
' 移除要关闭的引用
Set appHostApp = Nothing
Set cbbButton = Nothing
End Sub
Public Function CreateBar() As Office.CommandBarButton
' 指定命令条
Dim cbcMyBar As Office.CommandBar
Dim btnMyButton As Office.CommandBarButtonOn Error GoTo CreateBar_ErrSet cbcMyBar = appHostApp.CommandBars.Add(Name:="属性映射Bar")' 指定命令条按钮
Set btnMyButton = cbcMyBar.Controls.Add(Type:=msoControlButton, _
Parameter:="属性映射")
With btnMyButton
.Style = msoButtonCaption
.BeginGroup = True
.Caption = "&属性映射"
.ToolTipText = "Display Hello World Message"
.Width = "24"
End With' 显示并返回命令条
cbcMyBar.Visible = True
Set CreateBar = btnMyButton
Exit FunctionCreateBar_Err:
MsgBox Err.Number & vbCrLf & Err.Description
End Function
Private Function RemoveToolbar()
  appHostApp.CommandBars("属性映射Bar").Delete
End Function
Private Sub cbbButton_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)Dim WordTemps     As New Word.Application
WordTemps.Run MacroName:="setdocproperties"End SubPrivate Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)
End Sub 执行报错:不能运行指定的宏 请高手解答。谢谢

解决方案 »

  1.   

    把On Error GoTo CreateBar_Err去掉,看看哪行出错
    没做完程序尽量不要进行错误处理
      

  2.   

    楼上的 On Error GoTo CreateBar_Err 没有运行菜单啊 没有出来调试不不了。
    没做完程序尽量不要进行错误处理 能不能详细解释一下
      

  3.   

    Dim WordTemps As New Word.Application
    '这个中间没有实例化WordTemps? 直接不可运行
    WordTemps.Run MacroName:="setdocproperties"
      

  4.   

    楼上的你的意思是说,
    Dim WordTemps As New Word.Application
    WordTemps.Documents.Add   App.Path   +   "\含有宏.dot ",   False    需要加这个代码么
    WordTemps.Run MacroName:="setdocproperties"
      

  5.   

    WordTemps 需要打开一个文档吧,就一个空的对象本身也没有宏啊
    word我没写过,excel的   workbook.Add(Template) 、、 workbook.open(filename,……)
      

  6.   

    http://download.csdn.net/source/1627134
      

  7.   

    感谢大家。问题已经解决了。现在还有个问题请教下。当加载了菜单后,每当打开一个WORD文件。就会添加一个WORD。。不知我程序那里出错了。