CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  VBA

excel 启动时添加、删除菜单的问题?

楼主jintianatxd(tian)2004-09-03 20:41:12 在 VB / VBA 提问

我想在excel   打开一个文件时在“Standard”菜单中添加自己的菜单,在关闭文件时删除菜单,以下的代码总是提示不行。但是,以下的代码单独运行时是可以添加、删除菜单的,请各位高手指教。  
   
   
  Private   Sub   Workbook_Open()  
  Dim   NM  
  Set   NM   =   CommandBars("Standard").Controls.Add(Type:=msoControlPopup)  
  With   NM  
          '.BeginGroup   =   True  
          .Caption   =   "打印证明"  
          .OnAction   =   "run_sub"  
  End   WithEnd   Sub  
   
   
  Private   Sub   Workbook_BeforeClose(Cancel   As   Boolean)  
    CommandBars("Standardr").Controls("打印证明").Delete  
   
  End   Sub 问题点数:120、回复次数:11Top

1 楼jintianatxd(tian)回复于 2004-09-03 20:43:12 得分 0

Private   Sub   Workbook_BeforeClose(Cancel   As   Boolean)  
    CommandBars("Standard").Controls("打印证明").Delete   ‘这里多了各r。  
  End   Sub  
   
  请各位写出解决的方法,谢谢。Top

2 楼jintianatxd(tian)回复于 2004-09-03 20:54:02 得分 0

问题已经解决,原来要将:  
   
  Dim   NM  
  Set   NM   =   CommandBars("Standard").Controls.Add(Type:=msoControlPopup)  
  With   NM  
          '.BeginGroup   =   True  
          .Caption   =   "打印证明"  
          .OnAction   =   "run_sub"  
  End   WithEnd   Sub  
   
   
  CommandBars("Standardr").Controls("打印证明").Delete  
   
  等代码在类中再建两个个public   function,才能执行,但是为什么了?  
   
   
  Top

3 楼hhjjhjhj(大头)(http://office.9zp.com)回复于 2004-09-03 20:55:32 得分 100

Private   Sub   Workbook_Open()  
  Dim   NM  
  Set   NM   =   Application.CommandBars("Standard").Controls.Add(Type:=msoControlPopup)  
  With   NM  
          '.BeginGroup   =   True  
          .Caption   =   "打印证明"  
          .OnAction   =   "run_sub"  
  End   With  
  End   Sub  
   
   
  Private   Sub   Workbook_BeforeClose(Cancel   As   Boolean)  
  Application.CommandBars("Standard").Controls("打印证明").Delete  
  End   SubTop

4 楼yinweihong()回复于 2004-09-03 23:44:29 得分 20

 
  Private   Sub   Command1_Click()  
          Dim   Exl   As   New   Excel.Application  
          Dim   myBar   As   Office.CommandBar  
          Dim   myButton   As   Office.CommandBarButton  
          Dim   IsExist   As   Boolean  
          IsExist   =   False  
          Exl.Workbooks.Add  
          Exl.Visible   =   True  
          '如果存在则显示  
          For   Each   myBar   In   Exl.CommandBars  
                  If   myBar.Name   =   "打印证明"   Then  
                          myBar.Visible   =   True  
                          IsExist   =   True  
                  End   If  
          Next  
          '不存在就创建  
          If   Not   IsExist   Then  
                  Set   myBar   =   Exl.CommandBars.Add(Name:="打印证明",   Position:=msoBarTop,   Temporary:=False)  
                  Set   myButton   =   CommandBars("打印证明").Controls.Add  
                  With   myButton  
                          .Caption   =   "打印证明"  
                          .ToolTipText   =   "打印证明"  
                          '   .Picture   =LoadPicture("f:\cd.ICO")  
                          '指定表面图片序号  
                          .FaceId   =   10  
                          .Visible   =   True  
                          .Enabled   =   True  
                          '指定宏  
                          .OnAction   =   "打印证明"  
                  End   With  
                  myBar.Visible   =   True  
          End   If  
  End   Sub  
  Top

5 楼jam021(jam)回复于 2004-09-05 21:33:05 得分 0

帮你顶一下Top

6 楼jintianatxd(tian)回复于 2004-09-07 21:52:08 得分 0

为什么   hhjjhjhj(大头)的加了   application.之后就可以呢?我想知道为什么?  
   
   
  Top

7 楼hhjjhjhj(大头)(http://office.9zp.com)回复于 2004-09-07 23:36:56 得分 0

////////为什么   hhjjhjhj(大头)的加了   application.之后就可以呢?我想知道为什么?////  
  对象中的语句,如果用简化写法(前面省去对象),则默认为省去Me  
  CommandBars("Standard").Controls.Add  
  相当于Me.CommandBars("Standard").Controls.Add  
  也就是ThisWorkbook.CommandBars("Standard").Controls.Add  
   
  而在模块中就不同了。(模块中有点智能匹配)Top

8 楼jam021(jam)回复于 2004-09-08 12:45:30 得分 0

同意楼上Top

9 楼yijiansong(不知路在何方)回复于 2004-09-08 13:02:54 得分 0

同意楼上楼上  
  Top

10 楼dongge2000(目前叫西西了)回复于 2004-09-09 22:57:20 得分 0

UPTop

11 楼jintianatxd(tian)回复于 2004-09-12 10:54:46 得分 0

thanks.Top

相关问题

  • 如何添加、删除系统菜单?
  • vc中如何对excel添加菜单?
  • 如何屏蔽EXCEL工作菜单栏上的最小化、最大化、关闭按钮,和其他工具栏上的下拉“添加或删除按钮”
  • 如何为自己的菜单“删除”功能添加Delete键的快捷键?
  • 如何在windows"开始-程序"菜单中添加和删除菜单项?高分送!
  • 江湖救急,恢复被删除的Excel中的菜单。
  • 请问怎样添加或删除IE菜单栏中“工具”选项下的内容?
  • TREEVIEW 控件,点击右键菜单实现添加,删除,修改等操作,和数据库有关!!!
  • win forms控件问题,如何使用鼠标右键菜单添加删除节点?
  • 怎样对ASPNetMenu这个这个控件进行动态的添加和删除或者怎样对他的菜单和子菜单进行隐藏和显示???

关键词

  • 打印
  • 代码
  • excel
  • commandbars
  • mybar
  • exl
  • 打印证明
  • 菜单
  • onaction
  • begingroup

得分解答快速导航

  • 帖主:jintianatxd
  • hhjjhjhj
  • yinweihong

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo