问:关于Excel安装自编功能的方法
excel吧
全部回复
仅看楼主
level 9
bengdeng 楼主
现在用Excel时已经常用到VBA,为自己设计一些小功能,请问出何像加载宏一样,在安装完成后,每次启时Excel时,自动加载,且自动动态加载一个菜单!!!如果能够这样,那以后在http://excelba.51.com 中就可以给出安装程序,安装完之后就可以在菜单中调用功能,而不要手动建立一个按钮或菜单了!也方便那些对宏和VBA了解很少,但又有需要的人士使用。如能生成我已前提供的繁简互换工具的那种msi文件更好,因为此文件还提供修复和卸载的功能。
2004年11月14日 07点11分 1
level 9
bengdeng 楼主
哭!为什么的问的就没有人答!再问一个问题:我们可以用单击右键——新建——一个Execl文件,但我用的电脑现在没有这一个选项了,我重装过Excel不能还原,但从Windows优化大师中的右键菜单设置的新建菜单顶中,竟有Excel这一项,狂晕!!不知道有谁能帮我解决这个问题:(。
2004年11月18日 09点11分 2
level 1
第二个问题应该可以通过修改注册表来实现 参照 http://tech.sina.com.cn/c/2002-02-19/11224.html
2004年11月20日 11点11分 3
level 12
Dim myMenu1, myMenu2 As Menu On Error Resume Next Set myMenu1 = MenuBars(xlWorksheet).Menus("hello") If myMenu1 Is Nothing Then WorkBookName = ActiveWorkbook.Name MenuBars(xlWorksheet).Menus.Add Caption:="hello" MenuBars(xlWorksheet).Menus("hello").MenuItems.Add "插入一行 Ctrl+I", "InsRows" MenuBars(xlWorksheet).Menus("hello").MenuItems.Add "删除一行 Ctrl+E", "DelRows" MenuBars(xlWorksheet).Menus("hello").MenuItems.Add "增加一页", "addpage" End If以下代码放到OPEN中就行了.
2004年12月01日 07点12分 4
level 0
吧主要的是这个功能吧?果然有挑站性.MenuBars(xlWorksheet).Menus("hello").MenuItems.Add "增加一页", "addpage"中的"addpage"就是在模块中对应的addpage()函数.
2004年12月01日 08点12分 5
level 12
忘登陆了.要多露面!打响GGGGDIU品牌:-)
2004年12月01日 08点12分 6
level 9
bengdeng 楼主
不错,解决了自动加入菜单的功能,其实基本已完成。以前在Excel是找不到这个MenuBars函数,帮助里现在也找不到,在MSDN里总算找到了,但你怎么找到的:),谢谢先!最后说一下想法,不只应该加在open中,最好还要在colse中删除,然后做成xla文件,用于加载。继续试验中,月底月初都比较忙,Excel的问题请各位朋友大力帮忙!
2004年12月02日 01点12分 7
level 12
吧主说的这个我知道.只是为了做介绍,所以省了.说到知识的出处......前不久,帮"笨丢丢的猪猪"破了一个EXCEL VBA软件,在里面学到的.保密!!!谢谢.
2004年12月02日 02点12分 8
level 3
偶正在努力的学习楼上的哥哥帮我破译的软件,看的真叫是一头雾水!#43 好好学习,天天向上ing! 很多看不懂的地方,还希望向各位高手请教呢!
2004年12月02日 03点12分 9
level 9
bengdeng 楼主
现把完整代码奉上:Dim AName, MName(1, 1)Private Sub Workbook_BeforeClose(Cancel As Boolean)For i = 0 To 1MenuBars(xlWorksheet).Menus(AName).MenuItems(MName(i, 0)).DeleteNextIf MenuBars(xlWorksheet).Menus(AName).MenuItems.Count = 0 ThenMenuBars(xlWorksheet).Menus(AName).DeleteEnd IfEnd SubPrivate Sub Workbook_Open()Dim MyMenu As Menu, iOn Error Resume NextAName = "Excel 吧" '菜单名称MName(0, 0) = "数据倒排" '菜单项名称MName(0, 1) = "数据倒排" '宏名称MName(1, 0) = "组原序倒排" '菜单项名称MName(1, 1) = "组原序倒排" '宏名称Set MyMenu = MenuBars(xlWorksheet).Menus(AName)If MyMenu Is Nothing ThenMenuBars(xlWorksheet).Menus.Add Caption:=ANameEnd IfFor i = 0 To 1 '1为加入了2个菜单,类推MenuBars(xlWorksheet).Menus(AName).MenuItems.Add MName(i, 0), MName(i, 1)NextEnd Sub使用说明:将此代码复制到文件的ThisWorkBook中,修改其中注释的部份即可使用。功能说明:打开文档时会新加入一个菜单和相应的菜单项,退出时删除。注意事项:1、保存时第一次退出文件时会出错,为正常现象,原因为其中BeforeClose事件用到的参数在open中定义,修改程序完后也有可能出现此现象。2、文件中要包含给定的子程序才能调用。最后扩展说明,可以将子程序或模块包含在文件中并保存为“XLA”文件,这样就可以在“工具”/“加载宏”中加载或取消:)。PS:笨丢丢的猪猪 ,破译的那个东东能不能看到原代码?如果可以能不能发一个给我呀 *^_^*。
2004年12月02日 03点12分 10
level 3
有吖~ggggdiu破解的 ………你说我怎么发给你方便吖~ 正好我好多地方都看不懂你们两个都要帮帮我-_-#
2004年12月02日 04点12分 11
level 9
bengdeng 楼主
可以发到这个邮箱:[email protected]如果块头小还可以上传到Excel问题实例上传区:http://excelba.ys168.com能不能帮上还说不上,我也想看看人家的代码:P
2004年12月02日 08点12分 12
level 1
放到http://excelba.ys168.com 是个不错的主意。虽没时间仔细研究,但学习一下别人程序风格也不错啊。
2004年12月02日 13点12分 13
level 12
几位大兄,能不能不要在贴上说这些东东?会有人告我侵知识产权的.私聊,好不拉?多谢.
2004年12月02日 23点12分 14
level 3
老大~你给的信箱怎么不能用吖
2004年12月06日 01点12分 15
level 9
bengdeng 楼主
……我刚刚还用呢[email protected]
2004年12月06日 04点12分 16
level 0
不好意思 我这几天没来!! 真的不行啊!! 我试过了 说是:请正确输入下列邮箱地址
2004年12月16日 05点12分 17
level 8
这对于初学vba帮助很大.
2011年08月04日 01点08分 18
1