现在的位置: 首页 > 综合 > 正文

在ACCESS中自定义快捷菜单运行自己的程序

2013年08月26日 ⁄ 综合 ⁄ 共 1288字 ⁄ 字号 评论关闭

版权声明:可以任意转载,转载时请务必以超链接形式标明如下文章原始出处和作者信息及本声明

作者:xixi

出处:http://blog.csdn.net/slowgrace/archive/2008/10/03/3013171.aspx

共分4步:首先生成快捷菜单;然后在快捷菜单中加上快捷菜单项;然后为这个快捷菜单项指明所关联的函数或宏;最后把这个快捷菜单栏指定给某窗体或某控件。详述如下:

  1. 首先生成快捷菜单;

    1. 工具-》自定义;
    2. 在“工具栏”选项卡上单击“新建”按钮。
    3. 在“工具栏名称”框中键入所需的名称,然后单击“确定”按钮。
    4. 在“工具栏”选项卡上,单击“属性”按钮。
    5. 在“类型”列表中,单击“弹出式”。
    6. 设置所需的“允许自定义”属性,然后单击“关闭”按钮。
    7. 这样,Microsoft Access就将该快捷菜单添加到“快捷菜单”工具栏了。所有的自定义快捷菜单栏都可以在该工具栏看到。
  2. 然后在快捷菜单中加上快捷菜单项;
    1. 工具-》自定义;
    2. 在“工具栏”选项卡的“工具栏”框中,单击“快捷菜单”。
    3. 在“快捷菜单”工具栏上,单击“自定义”类别,再单击新定义的菜单。
    4. 在“命令”选项卡的“类别”框中,单击“文件”
    5. 把“命令”选项卡的“命令”框中的“自定义”拖到上面的快捷菜单中新定义的菜单后面的菜单项中,如本文末尾的图。
    6. 这样菜单中就会出现一个新的名为“自定义”的菜单项;
  3. 然后为这个快捷菜单项指明所关联的函数或宏
    1. 右键单击这个新添的菜单项,设置它的各项属性;
    2. 点击属性,设置它的“所在操作”
    3. 可以是宏的名称也可以是函数的名称,但不能是过程的名称。
    4. 如果是函数的名称,一定要用=functionname()这种语法。而且貌似只能是funtion,不能是sub。
    5. 注意,如果是函数的话,这个函数必须是内置函数或者是位于控件所在类模块的函数(可以是私有的)或者是位于标准模块的公有函数。如果控件在子窗体中,则该函数只能位于标准模块中或主窗体类模块中而不能位于子窗体类模块中,因为在父窗体中不能直接访问到子窗体类模块。
  4. 最后把这个快捷菜单栏指定给某窗体或某控件:这个简单,只要在控件或窗体属性的"快捷菜单栏"属性里填上这个快捷菜单栏的名称就可以鸟。这个属性的英文名叫shortcutmenubar

在OFFICE中手动添加自定义快捷菜单

5. 不过对于activex控件则无法简单的通过设置shortCutMenuBar来指定它的快捷菜单栏,因为它们压根没有shortCutMenuBar这个属性。这时可以通过在控件的mouseup事件中响应右键,并调用commandbars的ShowPop方法来实现快捷菜单的显示。代码如下:

为ActiveX控件设置快捷菜单的代码

参考文献:

  1. http://topic.csdn.net/t/20021120/16/1192157.html
  2. http://hi.baidu.com/wonder0016/blog/item/a4942034aab341b3d1a2d363.html
  3. http://www.accfans.net/dispbbs.asp?boardid=18&id=4041
  4. http://www.accessbbs.cn/bbs/viewthread.php?tid=11800

抱歉!评论已关闭.