欢迎来到天天文库
浏览记录
ID:6677165
大小:28.00 KB
页数:5页
时间:2018-01-22
《利用vba创建excel新菜单》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、利用VBA创建Excel新菜单利用VBA创建Excel新菜单.txt等余震的心情,就像初恋的少女等情人,既怕他不来,又怕他乱来。听说女人如衣服,兄弟如手足,回想起来,我竟然七手八脚地裸奔了二十多年!今天心情不好,我只有四句话想说,包括这句和前面的两句,我的话说完了!利用VBA创建Excel新菜单使用VBA,可以很方便地向Excel菜单栏添加新菜单。背景知识1、菜单栏属于CommandBars集合,可以通过菜单栏名称或索引值对其进行引用:CommandBars(“WorksheetMenuBar”)或CommandBars(1)2、新添加的菜单是一个弹出式控件,其类型为m
2、soControlPopup。3、通过Add方法向Controls集合中添加新的控件。Add方法可以指定控件的类型、内置控件的ID号、位置及是否是一个临时控件。如果是一个临时控件,则在关闭Excel时会自动删除该菜单。4、可以指定新菜单的位置。如果不指定,则会在菜单工具栏末尾添加新菜单。5、使用Caption属性指定新菜单的名称,使用OnAction属性指定单击菜单后的行为。6、为了避免指定的菜单不存在,可以使用FindControl方法查找要指定的菜单。若指定的菜单不存在,则在工作表菜单栏末尾添加新菜单。添加菜单向Excel工作表菜单栏中添加菜单的过程清单如下:Sub
3、AddNewMenu()DimHelpMenuAsCommandBarControlDimNewMenuAsCommandBarPopup'利用ID属性查找帮助菜单SetHelpMenu=CommandBars(1).FindControl(ID:=30010)IfHelpMenuIsNothingThen'如果该菜单不存在,则将新菜单添加到末尾'设置新菜单为临时的SetNewMenu=CommandBars(1).Controls_.Add(Type:=msoControlPopup,Temporary:=True)Else'将新菜单添加到帮助菜单之前SetNewMe
4、nu=CommandBars(1).Controls_.Add(Type:=msoControlPopup,Before:=HelpMenu.Index,_Temporary:=True)EndIf'添加标题并指定快捷键NewMenu.Caption="统计(&S)"EndSub运行该过程后,将在工作表菜单的“帮助”菜单左侧添加一个名为“统计”的新菜单。注:要删除新添加的菜单,使用Delete方法即可,例如代码:CommandBars(1).Controls("统计(&S)").Delete将删除刚创建的“统计”菜单。添加菜单项与添加新菜单一样,在添加菜单项及子
5、菜单时,使用Add方法,且指定合适的控件类型,其代码清单如下:SubAddNewMenu()DimHelpMenuAsCommandBarControlDimNewMenuAsCommandBarPopupDimMenuItemAsCommandBarControlDimSubMenuItemAsCommandBarButtonOnErrorResumeNext'如果菜单已存在,则删除该菜单CommandBars(1).Controls("统计(&S)").Delete'利用ID属性查找帮助菜单SetHelpMenu=CommandBars(1).FindControl
6、(ID:=30010)IfHelpMenuIsNothingThen'如果该菜单不存在,则将新菜单添加到末尾'设置新菜单为临时的SetNewMenu=CommandBars(1).Controls_.Add(Type:=msoControlPopup,Temporary:=True)Else'将新菜单添加到帮助菜单之前SetNewMenu=CommandBars(1).Controls_.Add(Type:=msoControlPopup,Before:=HelpMenu.Index,_Temporary:=True)EndIf'添加菜单标题并指定热键NewMenu.C
7、aption="统计(&S)"'添加第一个菜单项SetMenuItem=NewMenu.Controls.Add_(Type:=msoControlButton)WithMenuItem.Caption="输入数据(&D)...".FaceId=162.OnAction="Macro1"EndWith'添加第二个菜单项SetMenuItem=NewMenu.Controls.Add_(Type:=msoControlButton)WithMenuItem.Caption="汇总数据(&T)..."'添加快捷键.ShortcutText="
此文档下载收益归作者所有