Visual Basic外接程序项目(VB 6.0) [英] Visual Basic Addin Project (VB 6.0)
本文介绍了Visual Basic外接程序项目(VB 6.0)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我正在尝试在excel中创建自定义菜单,以在excel中提供自定义功能.
Hi Everybody,
I am trying to create a custom menu in excel to provide customized functions in excel.
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
'Dim CMMenu As MenuItems
Dim MId As Long
On Error Resume Next
Set ExlObj = Application
'Set CMMenu = ExlObj.MenuBars(xlWorksheet).Menus.Add("Capitaline", "&Window").MenuItems
ExlObj.MenuBars(xlWorksheet).Menus.Add "MyMenu", "&Window"
'Set MenuItem1 = ExlObj.MenuBars(xlWorksheet).Menus.Item("Capitaline").MenuItems.Add("Nadesh", "")
ExlObj.MenuBars(xlWorksheet).Menus.Item("Mymenu").MenuItems.Add "Nadesh", ""
ExlObj.MenuBars(xlWorksheet).Menus.Item("Mymenu").MenuItems.Add "A", ""
'CMMenu.Add "Nadesh", "Nadesh"
'Set ExlCapitaline = ExlObj.CommandBars.FindControl(Id:=MId)
If Err <> 0 Then
MsgBox Err.Description
'Set CMMenu = MenuBars(xlWorksheet).Menus.Add("Capitaline", "&Window")
'CMMenu.MenuItems.Add "&General", "ShowGenForm"
'CMMenu.MenuItems.Add "&Finance", "ShowFinForm"
'CMMenu.MenuItems.Add "-"
End If
End Sub
菜单已添加,但我无法将单击事件添加到自定义菜单.
如果在MenuItems.Add
方法中,如果我给出过程名称,则表示找不到宏.
需要您的帮助
在此先感谢
Menus are added but i am not able to add the click events to the custom menus.
if in MenuItems.Add
method if i give the procedure name it says Macro not found.
Need your help
Thanks in Advance
推荐答案
阅读本文,它将解决您的问题
http://www.cpearson.com/excel/ComAddInInVB6.htm [
Read this article and it will solve your problems
http://www.cpearson.com/excel/ComAddInInVB6.htm[^]
我自己找到了解决方案.
I Myself found solution.
Private WithEvents MnuFin As Office.CommandBarButton
Private ExlCapitaline As Office.CommandBarPopup
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Dim MId As Long
On Error Resume Next
Set ExlObj = Application
ExlObj.SheetsInNewWorkbook = 1
With ExlObj.MenuBars(xlWorksheet).Menus.Add("Nadesh", "&Window")
MId = GetMenuID("Nadesh")
End With
Set ExlCapitaline = ExlObj.CommandBars.FindControl(Id:=MId)
Set MnuFin = ExlCapitaline.Controls.Add(Type:=msoControlButton, Temporary:=True)
MnuFin.Caption = "&Finance"
If Err <> 0 Then
MsgBox Err.Description & " in OnConnection"
End If
End Sub
Function GetMenuID(ByVal MnuName As String) As Long
Dim MenuID As Object
Set MenuID = ExlObj.CommandBars("Worksheet Menu Bar").Controls(MnuName)
GetMenuID = MenuID.Id
End Function<br>
Private Sub MnuFin_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
frmAddIn.Show
End Sub</br>
这篇关于Visual Basic外接程序项目(VB 6.0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文