网友作品 #000045 · 提交于 2026/08/06
VBE2021插件二次开发:VBA代码整理与调试增强工具







1 / 7
作品简介
这是一套基于 VBE2021 插件的二次开发成果,在 VBE(VBA 编辑器)里注入了一个「VBE菜单项」菜单,把日常 VBA 开发中反复出现的琐碎操作做成了一键式功能,共覆盖代码整理、调试辅助、API 声明转换、引用分析、工程管理、配置、用户窗体工具等九大类。
其中自研的「工程资源管理器」直击 VBE 原生窗口的痛点:当工程包含大量工作表、窗体、模块时,切换工作表会导致原生工程窗口光标反复偏移、节点不断折叠展开,该工具通过锁定视图焦点、保持节点展开状态,让多对象工程中的定位与切换不再跳动。
整个项目由作者按功能描述与构思借助 AI 完成,在 VSTO 中编译生成,仅一两天即开发完成。
核心亮点
- 代码整理:模块级/过程级两档粒度,合并或删除空行、清除内部或全部注释,规范化历史代码
- 调试模式切换:一键批量注释/解除 On Error Resume Next,切换 Debug.Print、MsgBox 调试输出的开与关
- API 声明 32/64 位转换:Declare 语句一键增删 PtrSafe 关键字,选中代码时只处理选中范围
- 引用分析:子过程/父过程双向列出调用关系,单击列表项即跳转到目标过程
- 工程引用管理:列出系统全部可用引用(含未引用项),复选框直接增删,搜索框带历史记录
- 代码地图与代码统计:列出模块内所有过程/函数/属性并高亮光标所在项;统计各模块代码行数、过程数、函数数,等宽表格呈现可一键复制
- 仿 VBE 工程资源管理器:树形视图锁定焦点、保持节点展开,支持查看/插入/导入导出/重命名/移除与工程刷新
- 配套效率功能:常用文件目录自动生成菜单、代码片段库按目录分组点击插入、右键智能缩进、用户窗体控件水平/垂直等距排列
技术与工具
- 基于 VBE2021 主工程二次开发,在 VSTO / .NET(dotnet) 环境中编译生成
- 工程引用管理、代码地图两项功能源自「VBA代码助手」(vbayyds.com)
- 借助 AI 按「功能描述 + 构思」生成功能代码,无需逐行手写
- 软件配置支持界面字体字号、代码库路径、顶齐缩进、智能提示等项,修改后已打开窗体即时刷新
开发过程
- 从日常 VBA 开发的真实痛点出发规划功能清单,再逐项把功能描述与构思交给 AI 生成实现
- 全部功能只需在 VSTO 中编译生成即可生效,整个项目一两天即开发完成
- 工程资源管理器专为解决 VBE 原生工程窗口「切换对象后光标偏移、节点反复折叠跳动」的问题而设计
适用场景
- 历史代码规范化:批量合并空行、清理注释、统一缩进,整理老旧 VBA 工程
- 大型工程调试维护:引用分析、代码地图快速定位过程,工程资源管理器稳定浏览多对象工程
- 32/64 位 Office 迁移:批量转换 API 声明,适配不同位数 Office
- 团队协作:统计代码规模、标准化开发流程,降低 VBA 工程维护成本
原始提交内容(点开查看,可复制全文去问 AI)
一、代码整理 功能 帮助说明 合并空行(模块级) 将当前模块内连续多个空行合并为单个空行。 合并空行(过程级) 仅合并过程/函数体内的连续空行,保留模块声明区与过程之间的空行。 删除空行(模块级) 删除当前模块中的所有空行。 删除空行(过程级) 仅删除过程/函数体内的空行。 清除内部注释(过程级) 仅清理过程/函数体内的注释,保留模块声明区与过程之间的说明。 清除内部注释(模块级) 清理整个模块内各过程/函数体的注释。 清除全部注释(模块级) 删除当前模块中的所有注释。 二、调试辅助 功能 帮助说明 注释 On Error Resume Next 批量在 On Error Resume Next 语句前加注释(关闭错误处理)。 解除注释 On Error Resume Next 批量取消 On Error Resume Next 语句前的注释(开启错误处理)。 注释(msgbox、Debug) 切换到“正常模式”:注释掉 Debug.Print / MsgBox 调试输出。 解除注释(msgbox、Debug) 切换到“调试模式”:取消 Debug.Print / MsgBox 前的注释。 三、API 声明转换 功能 帮助说明 API 声明转 32 位数 在 Declare 语句中移除 PtrSafe 关键字(适配 32 位)。运行前若已选中代码,仅处理选中范围。 API 声明转 64 位数 在 Declare 语句中添加 PtrSafe 关键字(适配 64 位)。运行前若已选中代码,仅处理选中范围。 四、引用分析 功能 帮助说明 子过程、函数引用分析 列出当前过程调用的所有过程/函数,单击列表项跳转到目标过程。 父过程、函数引用分析 列出调用当前过程的所有过程/函数,单击列表项跳转到调用方。 五、工程管理 功能 帮助说明 工程引用管理 列出系统全部可用引用(含未引用项),已引用项置顶;勾选复选框直接添加/移除,搜索框支持历史记录。 代码地图 列出当前模块所有过程/函数/属性,光标所在过程高亮;单击跳转;搜索框带下拉历史。 工程资源管理器 仿 VBE 工程资源管理器树形视图:查看代码/对象、插入模块/用户窗体/类模块、导入/导出、重命名、移除、右键“工程刷新”。 代码统计 统计各模块代码行数、过程数、函数数等信息,结果以等宽文本表格呈现并可一键复制。 工程资源管理器 · 开发初衷:当 VBA 工程包含大量工作表、窗体、模块等对象时,开发调试阶段切换工作表会导致 VBE 自带工程窗口的光标位置反复偏移、节点状态不断被展开/折叠。本工具正是为解决这一痛点而开发——通过锁定视图焦点、保持节点展开状态,避免界面反复跳动,方便在多对象工程中快速定位与切换代码。 六、配置 功能 帮助说明 软件配置 设置界面字体、字号及原有 IniForm 配置项(代码库路径、顶齐缩进、智能提示);修改后已打开窗体即时刷新。 七、用户窗体工具(合并到 VBE 自带“用户窗体”工具条) 功能 帮助说明 水平等距 对用户在用户窗体设计器中选中的 2 个控件按水平方向等距排列。 垂直等距 对选中的 2 个控件按垂直方向等距排列。 八、帮助 功能 帮助说明 关于 显示各功能用途简介、版本信息,并索引帮助文档(功能清单 / 人性化设计方案 / 功能详细介绍 / 开发避坑记录 / 变更记录)。
九、VBE2021 主菜单功能(“VBE2021” 菜单,区别于「VBE菜单项」) 以下功能由主工程 VBE2021 直接提供,位于 VBE 菜单栏的 “VBE2021” 下拉菜单(区别于 VBEToolkit 注入的「VBE菜单项」菜单)。 功能 帮助说明 常用文件 位于“VBE2021”菜单下的动态分组:「打开常用文件目录」用资源管理器打开 常用文件\ 文件夹,便于手动增删文件; 加载时自动遍历 常用文件\ 目录,将其中的文件(如正则表达式测试工具、PDF/CHM 手册、HTML 工具等)生成为菜单项,单击即用默认程序打开。放入文件即自动出现在菜单,无需改动代码。(文件改动后续重启office软件方可更新) 代码库 打开代码库窗体(CodeForm),并按 Code\ 目录结构动态生成代码片段分组,单击 .txt 片段即插入到当前光标处。 软件说明 打开内置的 VBE2021 使用说明文档。 智能缩进(右键) 代码窗口右键菜单提供「模块缩进 / 过程缩进 / 工程全部缩进」,按层级批量格式化缩进。 删除空行(右键) 代码窗口右键菜单提供「删除空行」,快速清理当前模块空行。 工程引用、代码地图功能源于(VBA代码助手 VBA永远的神 VBA中文编程助手 VBAYYDS),主页:https://vbayyds.com/