Visual Basic外接程序项目(VB 6.0) [英] Visual Basic Addin Project (VB 6.0)

查看:201
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆