如何添加子菜单使用加载项

文章翻译 文章翻译
文章编号: 216548 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

概要

本文演示了如何将子菜单添加到 vba IDE,并使用外接程序项目的当前活动窗体。

更多信息

以下步骤说明了如何编写外接程序中,将子菜单添加到 vba IDE:
  1. 开始一个新的 Visual Basic 加载项项目。默认情况下被创建一个 frmAddIn 窗体和连接 AddinDesigner (类)。
  2. 打开连接的代码窗口并定位该函数 AddToAddInCommandBar。 现有代码替换为以下:
    Function AddToAddInCommandBar(sCaption As String)
       Dim cbMenuCommandBar    As Office.CommandBarPopup  ' cmd bar object
       Dim cbSubMenuItem       As Office.CommandBarButton ' Added
       Dim cbMenu              As Object
       On Error GoTo AddToAddInCommandBarErr
    
       ' see if we can find the Add-Ins menu
       Set cbMenu = VBInstance.CommandBars("Add-Ins")
       If cbMenu Is Nothing Then
           ' not available so you fail
           Exit Function
       End If
    
       ' add it to the command bar,  Next line Added
       Set cbMenuCommandBar = cbMenu.Controls.Add(msoControlPopup, , , 1)
       ' set the caption
       cbMenuCommandBar.Caption = sCaption
          ' Next line Added
       Set cbSubMenuItem = cbMenuCommandBar.Controls.Add(msoControlButton)
       cbSubMenuItem.Caption = "One"  ' Added
    
       Set AddToAddInCommandBar = cbSubMenuItem  ' Added
       Exit Function
    
    AddToAddInCommandBarErr:
    End Function
    						
  3. 运行该项目。
  4. 开始创建新的标准 EXE 项目在 vba IDE 的另一个实例。默认情况下创建 Form1。
  5. 单击加载项菜单。它包含"我 AddIn,"又包含一个子菜单名为"1。
下面的代码可用于创建外接程序中处于活动状态的窗体中添加子菜单的过程自动化:
  1. 开始一个新的 Visual Basic 加载项项目。默认情况下被创建一个 frmAddIn 窗体和连接 AddinDesigner (类)。
  2. 在设计模式中打开 frmAddIn,将命令按钮放在其上。默认情况下创建 Command1。
  3. 将下面的代码添加到 Form1 的通用声明部分中:
    Private Sub Command1_Click()
       Dim CurrentForm As VBComponent      ' current form
       Dim Ctls        As VBControls       ' form's controls
       Dim Parent      As VBControl
       Dim Child       As VBControl
       Dim GrandChild  As VBControl
    
       Set CurrentForm = VBInstance.SelectedVBComponent
       Set Ctls = CurrentForm.Designer.VBControls
       Set Parent = Ctls.Add("VB.Menu")
       Parent.Properties!Caption = "&Parent"
       Set Child = Parent.ContainedVBControls.Add("VB.Menu", Parent)
       Child.Properties!Caption = "&Child"
       Set GrandChild = Child.ContainedVBControls.Add("VB.Menu", Child)
       GrandChild.Properties!Caption = "&Grand Child"
    End Sub
    						
  4. 运行此项目。
  5. 开始创建新的标准 EXE 项目在 vba IDE 的另一个实例。默认情况下创建 Form1。
  6. 单击加载项菜单,然后选择"我的 AddIn。
  7. 单击添加项对话框中的 Command1 按钮。
  8. 父菜单将被添加到 Form1。在父项包含子,又包含子菜单孙子菜单。

属性

文章编号: 216548 - 最后修改: 2014年2月22日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft Visual Basic 5.0 学习版
  • Microsoft Visual Basic 6.0 学习版
  • Microsoft Visual Basic 5.0 专业版
  • Microsoft Visual Basic 6.0 专业版
  • Microsoft Visual Basic 5.0 企业版
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
关键字:?
kbnosurvey kbarchive kbmt kbaddin kbhowto kbmenu KB216548 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 216548
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com