网友作品 #000018 · 提交于 2026/08/04
VBA开发三件套:代码整理、PDF提取与代码收纳箱





1 / 5
作品简介
这是一组面向 Excel VBA 开发者的效率工具,包含三款作品:VBE2021 / VBEToolkit 以 VBE 菜单项与浮动窗体形式提供代码整理、引用分析、工程管理等能力;PDF 区域信息提取器按设定的页面与区域自动提取条码、二维码与印刷文本;代码收纳箱仿照方方格子收纳箱,以 VBA 加载项(.xlam)加外部独立 EXE 的方式集成到 Excel 功能区,用于分类管理 VBA 代码片段。
核心亮点
- 一键代码整理:合并/删除空行(模块级、过程级)、清除内部注释或全部注释,单击即对当前代码原地修改
- 调试辅助与 API 转换:批量开关 On Error Resume Next、Debug.Print / MsgBox,Declare 声明 32/64 位互转,支持仅处理选中代码
- 引用分析与工程管理:子/父过程引用分析、代码地图、代码统计,单击列表项直接跳转、随光标实时刷新;工程引用复选框直接增删
- PDF 暗码提取:按提取范围自动扫描页头页尾或页左页右区域,对每个区域依次尝试文本、条码、二维码识别,输出位置与计数
- 料号参数化:客户-料号层级绑定区域与提取参数,选 PDF 后按文件名自动匹配料号,配置一键备份/还原
- 代码收纳箱:分类管理宏、函数、窗体片段,一键执行或附加到当前工作簿,支持 ZIP 导入导出跨电脑迁移
技术与工具
- 开发技能:ExcelVBA、ExcelDNA、Python
- 成品形态:VBE 菜单/浮动窗体、.xlam 加载项 + 外部独立 EXE
- 借助 WorkBuddy 辅助开发,改动后先用命令行编译器(vbc/csc)做零错误校验,再回 IDE 联调
开发过程
作者随作品附上了一份完整的 VBE 插件开发避坑记录,要点包括:新增源文件后立即加入工程编译列表,否则报「找不到 DLL」;按钮等 COM 对象用集合强引用保活,防止 GC 后事件失效;自定义按钮图标用 24 位 BMP 配合 PasteFace,透明区填按钮底色;列表点击事件内用 BeginInvoke 延迟刷新并做空值保护;类型库全名用 LoadTypeLib 取文档名而非注册表短名;配置类窗体用 ShowDialog,参考类浮动窗体用 Show 加 TopMost。
适用场景
- VBA 开发者日常代码整理、调试与片段复用,提升 Excel 二次开发效率
- 制造业、物流等行业批量提取 PDF 单据中的条码、二维码与文本,减少手动录入工作量
原始提交内容(点开查看,可复制全文去问 AI)
VBE2021 / VBEToolkit 功能简介
【代码整理】 • 合并空行(模块级 / 过程级):将连续多个空行合并为单个空行。 • 删除空行(模块级 / 过程级):删除指定范围内的所有空行。 • 清除内部注释(过程级 / 模块级):仅清理过程/函数体内的注释,保留模块声明区和过程之间的说明。 • 清除全部注释(模块级):删除当前模块中的所有注释。
【调试辅助】 • 注释 / 解除注释 On Error Resume Next:批量开关错误处理语句。 • 注释 / 解除注释 Debug.Print / MsgBox:批量开关调试输出语句。
【API 声明转换】 • API 声明转 32 位 / 64 位:在 Declare 语句中移除或添加 PtrSafe 关键字。 若运行前已选中代码,则只处理选中范围内的声明。
【引用分析】 • 子过程/函数引用分析:列出当前过程调用的所有过程/函数。 • 父过程/函数引用分析:列出调用当前过程的所有过程/函数。 • 单击列表项可直接跳转到目标过程名所在位置;点击刷新可随光标移动重新分析。
【工程管理】 • 工程引用管理:列出系统所有可用引用,已引用项置顶,通过复选框直接添加/移除。 • 代码地图:列出当前模块中的所有过程/函数/属性,当前过程高亮显示。 • 代码统计:统计各模块的代码行数、过程数、函数数等信息。
【配置】 • 软件配置:设置界面字体、字号及原有 IniForm 配置项。
从 PDF 中按设定的页面与区域,自动提取条码、二维码以及印刷文本(统称“暗码”)信息,并累计输出。
自动识别:对每个区域依次尝试 文本 条码 二维码,无需手动选识别方式。 按页提取:首页 / 尾页 / 首尾页 / 指定页(下拉项已更名为「提取范围」,不再带“暗码内容”字样)。 智能提取:按「提取范围」决定的页码,自动扫描页头/页尾(横向)或页左/页右(纵向)指定页高范围内全部条码、二维码,无需逐列设置区域参数,并输出位置与计数。 料号参数化:每个料号绑定一套区域 + 提取参数,切换料号即载入。 客户 / 料号层级:一个客户可含多个料号。 文件名智能匹配:选 PDF 后按文件名(去日期后缀)自动匹配料号。 版本与备份:顶部菜单「文件」支持一键备份/还原配置;关于窗口显示版本号,便于记录优化历史。 代码收纳箱是一款 Excel VBA 代码管理工具,以 VBA 加载项(.xlam)+ 外部独立 EXE 的方式集成到 Excel 功能区中。用户可以在收纳箱中新建、编辑、分类管理 VBA 代码片段(宏、函数、窗体),并一键执行或附加到当前工作簿。