我使用包含10-15个工作表和几个模块的多个工作簿 .
每当我打开VBA-Editor,或者让它重新聚焦时,项目浏览器就会扩展“Microsoft Excel对象”(主要是工作表)并折叠模块,这与我想要的完全相反 .
由于我在每个工作簿中有大约15个工作表,因此在资源管理器中查看所有工作表使得它非常不切实际,因为在VBA编辑器中我主要关注模块中的代码 .
如何将默认值更改为:“在项目查看器中显示模块并折叠'Microsoft Excel对象'”?
编辑:我添加了一张图片,以显示不需要的默认值 . 现在我希望默认为“Microsoft Excel Objects”折叠,而“模块”则展开:
编辑:解决方案提供了一个宏 . 为了接近"default",我将其添加到VBE的命令栏中,可以使用快捷键处理,如下所示:我将答案的第二部分放到mehow的问题here并将其放在代码模块中 . 然后我应用these指令来创建CommandBar条目 . 然后我在 Headers 中的所需字母前添加了&符号,现在我可以使用Alt t,t折叠Microsoft Excel对象并打开其余部分 .
4 回答
好吧,所以这并不是你想要的,因为它赢得了't do it as default, but I think it' s,因为你很漂亮,所以这里也是如此 .
所以我知道最棒的MZTools(http://www.mztools.com/v3/mztools3.aspx)能够折叠树视图中的所有节点 . 因此,我搜索了一下以了解如何通过Win32API操纵VBA项目树视图 . 我从这个页面得到的大多数API调用:http://btmtz.mvps.org/treeview/(最后更新1999 !!) .
从那里只需要获得正确的手柄并进行正确的检查 . 注意:VBIDE窗口必须打开(不建议在VBIDE中创建一个工具栏并根据需要触发它) .
它适用于Windows 7中的Office 2007/2010 32Bit,你必须修改64位的Win32API,但这并不难 . 您还可以根据需要优化某些项目的折叠/扩展等 .
这是一个过程:
这些是Win32API声明:
您是否考虑通过即时面板进行导航?请注意,这需要引用Visual Basic for Applications Extensibility 5.3 .
包括ShowComponentByName,ShowOnlyModulesAndClasses和ListModulesAndClasses方法 .
您可能需要更改安全设置,可以这样做:http://support.microsoft.com/kb/813969
此致,LC
我使用的不那么复杂的解决方法是在VB密码保护工作簿*中进行工作表开发;它的VBE Node保持Collapsed,因此Project Explorer保持不变 .
*右键单击工作簿节点>属性>保护>锁定项目以查看输入密码
我推荐这个网站的密码; http://www.ba-bamail.com/content.aspx?emailid=14405
这在Excel 2010中适用于我:在VBA编辑器中转到
Window
>Options
并检查Collapse Proj. Hides Windows
选项 . 然后关闭所有Microsoft Excel对象窗口并折叠项目资源管理器中的Microsoft Excel对象组 . 保存工作簿,关闭,当您重新打开时,只会打开模块 .HTH