vba的窗体中如何添加菜单? 10

我说的是在VBA环境中,如在office或者其他软件里面,都提供了VBA二次开发环境,而不是在VB中。... 我说的是在VBA环境中,如在office或者其他软件里面,都提供了VBA二次开发环境,而不是在VB中。 展开
 我来答
奇将射天狼
2005-12-20 · TA获得超过5916个赞
知道大有可为答主
回答量:3558
采纳率:0%
帮助的人:3053万
展开全部
VB实现窗口的弹出式菜单

在Windows95、Windows98或NT的风格中,有按动鼠标器右键弹出下拉菜单的操作,在VB执行环境下,有一些控件本身具有弹下拉菜单的功能,如TexTbox控件等,但大多数编辑类控件以及窗体本身却没有此功能,要在窗口中任意位置实现PopUpMenu(弹出式菜单),可借助VB的菜单工具来实现。
首先,打开VB的“工具”菜单条,利用“菜单编辑器”为窗体生成一个菜单:
标题(Caption) 菜单条名(Name)
编辑 menuEdit
……复制 mnuCopy
……剪切 munCut
其次,将生成的menuEdit菜单设置为不可视。
Private Sub Form_Load()
Me.menuEdit.Visibe=False
′menuEdit菜单设置为不可视
End Sub
然后,利用MouseDown事件实现任意位置弹出PopUpMenu,如下例:
本例中以RichTexBox控件为例,在其上面实现复制、剪切功能。
1.复制功能的实现。
Private Sub MnuCopy_Click()
Clipboar.Clear′将剪贴板清空
′将RichTexBox控件上选择上的内容复制到剪贴板
Clipboard.SetTextRichTexBox1.SelText
End Sub
2.剪切功能的实现。
Private Sub MnuCut_Click()
Clipboard.Clear ′将剪贴板清空
′将RichTextBox控件上选择了的内容复制到剪贴板
Clipboard.SetTextRichBox1.SelText
′将RichTexBox控件上选择了的内容删除
SendKeys〃{DELETE}〃,True
End Sub
3.在RichTexBox控件的MouseDown事件中实现任意位置弹出PopUPMenu。
OPrivate Sub RichTexBox1_MouseDown(Button As Integer,Shift As Integer,x As Single,Y As Single)
Dim MnuFile AS Menu ′声明一个菜单类型的变量
Set munFile=Me.MenuEdit ′将MenuEdit赋给菜单变量
if Button=2 Then ′判断是否按动鼠标器右键
′判断RichTexBox控件上选择了的内容是否存在,决定复制、剪切菜单条是否可操作。
If Len(RichTexBox.Text)=0 Or Len(RichTexBox.SelText)=0 Then
mnuCopy.Enabled=Flase ′复制菜单条不可操作。
nmuCut.Enabled=False ′剪切菜单条不可操作。
nmuCopy.Enabled=True ′复制菜单条可操作。
nmuCut.Enabled=True ′剪切菜单条可操作。
End IF
PopupMenu mnuFile ′弹出PopUpMenu。
End If
End Sub
这样,在VB执行环境中,操作窗体上的RichTexBox控件,按动鼠标器右键就可弹出下拉菜单,实现复制、剪切功能。
百度网友96ffcf7
推荐于2017-12-16 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
一般情况下用CALL命令即可, 但是在菜单栏调用就比较麻烦点, 首先要建立自己的菜单命令,
方法如下:
Sub auto_open()
Dim AA As CommandBarPopup
On Error Resume Next
On Error GoTo 0
Set AA= Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
AA.Caption = "自定义菜单"'菜单名称自选
With AA.Controls.Add(msoControlButton, , , , True)
.Caption = "自定义按钮"’按钮名称自选
.OnAction = "自定义宏命令"'这里是要调用的宏程序名
End With
end sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老妖爹
2012-05-04
知道答主
回答量:6
采纳率:0%
帮助的人:5487
展开全部
我也在问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式