首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB创建COM加载项菜单,菜单功能:执行WORD已录制宏命令解决思路

2012-03-04 
VB创建COM加载项菜单,菜单功能:执行WORD已录制宏命令代码如下:Implements IDTExtensibility2Global objec

VB创建COM加载项菜单,菜单功能:执行WORD已录制宏命令
代码如下:
Implements IDTExtensibility2
'Global object references
Public appHostApp As Word.Application
Private WithEvents cbbButton As Office.CommandBarButton


Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)

End Sub

Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)

End Sub

Private 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.CommandBarButton

On Error GoTo CreateBar_Err

Set 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 Function

CreateBar_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 Sub

Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)
End Sub

 执行报错:不能运行指定的宏

 请高手解答。谢谢


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

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

[解决办法]
http://download.csdn.net/source/1627134

热点排行