ARTICLE · 1198399
AI 批量 PDF 数据抓取工具
AI 批量 PDF 数据抓取工具
Excel VBA + 智谱 GLM 大模型 · 自定义提取项 · 零代码改动

一、工具简介
这款工具把「大模型对话、PDF 布局识别、自定义字段提取」三件事串成一条自动化流水线,操作入口只有一个:在 Excel 里运行一次宏、选中一个文件夹。接下来它会自动读遍文件夹里的所有 PDF,把你要的信息按列整理进一张新建的工作表,全程不需要逐份打开文件、也不需要手工复制粘贴。
工具的主要特点如下:
●全流程自动:从 PDF 解析、字段识别到结构化输出一次性完成,批量文件可无人值守处理。
●字段零代码:要提取哪些信息,只在 ConFig 工作表里填写即可,核心代码完全不用改。
●环境兼容广:32 位 / 64 位 Office 与 WPS 均可运行,HTTP 组件自动降级兜底,中文系统下的小数点格式、UTF8 编码问题已内置处理。
●网络更稳定:内置 3 次自动重试,遇到限流或网络波动会自动延时重试,不会中途卡死。
●密钥更安全:支持把 API Key 存放在 Excel 名称管理器中,避免明文写在代码里泄露。
●无外部依赖:JSON 解析全部由原生 VBA 实现,不引用任何第三方解析库,导入后即可运行。
二、运行环境准备
在正式使用前,请按下面四步把环境准备好:
1.软件要求:安装 2013 及以上版本的 Microsoft Excel,或最新版 WPS Office,32 位 / 64 位系统均可。
2.打开开发工具:依次点击「文件 → 选项 → 自定义功能区」,在右侧勾选「开发工具」复选框,确定后功能区就会出现 VBA 操作入口。
3.确认工作表齐备:工作簿中需存在名为 ConFig 的工作表,用于填写配置与提取项;结果会写入「结果输出」表,若该表不存在,工具会自动在 ConFig 表之后创建。
4.获取接口密钥:登录智谱 AI 开放平台,创建并复制你的 API Key。
三、配置自定义提取字段
3.1填写要提取的项目
所有要从 PDF 里抓取的内容,都写在 ConFig 工作表里,不需要改动任何代码:
●在 ConFig 工作表的 B15 至 B18 单元格中,依次填入提取项名称,例如「合同编号」「甲方名称」「总金额」「签订日期」。
●不必填满四格,空白单元格会被自动跳过,最少可以只配置 1 个提取项。
●填写完成后保存文件,配置即刻生效。若四格全部为空,运行工具时会弹出提示并中止,避免空跑。
3.2放置 API Key
API Key 支持两种放置方式,任选其一即可:
●方式一(直接填写):在代码配置区的 CFG_KEY 常量中填入密钥。
●方式二(推荐,更安全):CFG_KEY 留空,改用 Excel 名称管理器新建一个名称 nesangaikey,在「引用位置」中填入 API Key。
采用方式二时,工具会自动读取该名称中的密钥,并清洗掉意外混入的空格、换行与特殊符号,只保留智谱密钥允许的合法字符。
备考:如果没有智谱KEY,请参考我的VBA推广课《EXCEL_VBA调用AI大模型》资料.
3.3其他可调参数速查
以下参数均集中存放在代码配置区,按需调整即可,无需改动核心逻辑:
配置项 | 默认值 | 说明 |
CFG_KEY | 空 | 接口密钥;留空则自动读取名称管理器中的 nesangaikey |
CFG_MODEL | glm-4.5-flash | 指定调用的对话模型,可替换为其他可用模型 |
CFG_TEMP | 0.3 | 温度参数,事实提取类任务建议 0.2~0.4,越低输出越精准 |
CFG_MAXTOK | 2048 | 限制模型最大输出长度,防止返回过长导致解析溢出 |
CFG_MAX_PDF_MB | 50 | 单个 PDF 文件大小上限(MB),超出则跳过 |
CFG_MAX_TEXT_LEN | 10000 | 传入模型的正文最大长度(字符),超出自动截断 |
CFG_NOTHINK | True | 关闭模型思考模式,显著提升接口响应速度 |
四、接口连通性自检
正式批量处理前,建议先花几秒验证密钥与网络是否通畅:
1.按 Alt+F11 打开 VBA 编辑器,在代码窗口直接运行 mynzTestGLM 过程。
2.等待数秒后会弹出提示框,显示本次接口响应耗时与模型返回内容。
3.返回「连接成功」即代表密钥、网络通路、接口调用全部正常,可以开始批量处理。
五、批量提取操作流程
1.在 Excel 中点击按钮,会选择 mynzAIBatchExtractsSpecifiedContentFromPDF,执行。

2.在弹出的文件夹选择窗口中,选中存放全部待处理 PDF 的本地文件夹,点击确定。

3.工具自动开始遍历文件夹内的所有 PDF,状态栏实时显示「正在读取第 N 份(AI 读取中):文件名」,全程无需人工干预。
4.遍历过程中会自动跳过 Office 临时生成的「~$」开头的锁定文件,不会误读。
5.全部文件处理完毕后,工具自动弹出汇总窗口,并在「结果输出」工作表中生成结构化的提取结果。
六、结果查看与收尾
6.1结果表的结构
「结果输出」表的表头会根据你填写的提取项自动生成,列结构固定为:序号、文件名称、各自定义字段,表头自动加粗并填充淡蓝色底纹,方便与数据区区分。

列位置 | 内容说明 |
第 1 列 | 序号,按成功处理的顺序自动编号 |
第 2 列 | 文件名,已设置为超链接,点击可直接打开对应的原 PDF |
第 3 列起 | 你在 ConFig 表 B15:B18 中填写的自定义提取项,逐列对应 |
全部处理结束后,工具会自动对结果表执行全列宽度自适应,你可以直接复制数据到其他报表,也可以另存为新的 Excel 文件使用。
6.2汇总信息与失败处理
收尾弹窗会展示本次任务的关键统计,包括提取的项目列表、共找到的 PDF 数量、读取成功数量、失败数量,以及失败文件清单。
遇到识别失败的文件,可按以下顺序排查后单独重跑:
●确认该 PDF 没有被其他程序占用(如已在 PDF 阅读器中打开);
●确认文件大小未超过 50MB 的上限;
●确认文件未加密、未损坏,能够正常打开;
●确认后重新运行工具,只把该文件放入待处理文件夹即可单独补处理。
七、工具运行逻辑概览
整套工具按「底层工具 → 结果表 → 调度 → 单文件处理 → 收尾」的顺序组织,模块之间分工清晰、互不耦合:
●全局基础层:统一锁定配置表名与结果表名,提供「获取或创建工作表」「空值兜底」「读取自定义字段」三个通用函数,供上层反复调用。
●结果表生成层:依据自定义字段自动计算列数,动态生成表头、样式与初始列宽,每次运行都能自动适配当次的提取需求。
●主流程调度层:读取提取项并校验,唤起文件夹选择窗口,初始化结果表,随后遍历文件夹内的全部 PDF。
●单文件处理层:先调用智谱布局解析接口把 PDF 转为文本,再把文本、文件名与字段数组交给大模型提取,最后按列写入结果表并添加超链接。
●收尾统计层:关闭进度提示、自动适配列宽,并弹出包含提取项、文件总数、成功与失败清单的汇总信息。















































































