VBA-JSON 完整入门:一个文件让 Excel 和 Access 轻松解析 JSON

发布时间:2026/8/19 18:38:22

VBA-JSON 完整入门:一个文件让 Excel 和 Access 轻松解析 JSON
VBA-JSON 完整入门一个文件让 Excel 和 Access 轻松解析 JSON【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON文章关键词核心关键词——「VBA JSON 解析」长尾关键词——Excel VBA 解析 JSON、VBA JSON 转 Dictionary、Excel 读取 API 数据、JsonConverter.bas 导入、Access 读取 JSON 配置。当 API 返回一长串 JSON你只能对着 Excel 叹气时你有没有过这样的经历费尽周折从某个接口拿到一份 JSON 数据想整理进 Excel 表格结果打开一看全是一行挤成几万字符的大括号文本缩进、换行全无你只能一边叹气一边手工复制粘贴又或者你的 Access 系统想读取一个配置文件对方偏偏只提供 JSON 格式。这种JSON 近在眼前却无从下手的挫败感正是无数 VBA 开发者的日常。而今天要介绍的VBA-JSON就是来终结这种痛苦的——它让 Excel、Access 等 Office 应用解析 JSON简单到只差一次导入。项目速览VBA-JSON 是什么、给谁用一句话定义VBA-JSON 是一个纯 VBA 编写的 JSON 解析与生成库核心只有一个JsonConverter.bas文件。它把 JSON 字符串解析成 VBA 熟知的字典Dictionary和集合Collection也能把字典、集合、数组反向转成 JSON 字符串。它适合谁所有在 Excel、Access、Word、Outlook 里写过 VBA 宏的人——尤其是那些需要对接 Web API、处理配置文件、在系统间交换数据却苦于 VBA 没有原生 JSON 支持的朋友。它的核心亮点✅极致简单整个库就一个文件导入即用零依赖安装仅需一个 Windows 自带引用✅双向转换既能ParseJson把 JSON 读进来也能ConvertToJson把数据写出去还支持缩进美化输出✅跨平台兼容通过条件编译同时支持 Windows 和 Mac覆盖 Excel 2007 及以上版本Access 等其他 Office 应用同样适用✅细节处理扎实内置大数字保护、转义字符、日期时间ISO 8601/UTC转换并附有一套完整的测试用例specs/Specs.bas✅开源免费MIT 许可可直接用于商业项目有它 vs 没有它JSON 处理的差距有多大先说结论没有 VBA-JSON你要么手工复制粘贴要么写上百行字符串处理代码有了它核心操作一行搞定。场景没有 VBA-JSON有 VBA-JSON从接口拿数据手动复制、逐段拆分、反复调试ParseJson一行转成对象直接取值给别的系统传数据手工拼字符串少个引号全盘报错ConvertToJson自动生成合法 JSON修改嵌套数据每层都要写定位逻辑头大像操作字典一样obj(a)(b) 1处理时间戳手写格式转换容易踩时区坑内置 ISO 8601 与 UTC 转换函数举个生活化的例子你要把一份商品清单传给公司的 Web 系统没有 VBA-JSON 时你得自己拼{name:笔记本,price:5999}这种字符串一旦某个值里带了引号或反斜杠整个字符串就废了你还得满屏找 bug。有了 VBA-JSON你把数据放进字典ConvertToJson自动帮你处理所有转义几秒钟生成标准 JSON——是不是瞬间安心了再比如你每天要从天气 API 拉数据更新报表。没有它你只能开着两个窗口来回切换复制有了它写一个循环把数据写进单元格以后每天一键刷新。差距就是这么直观。上手实操三关跑通你的第一个 JSON 示例既然心动了我们就直接动手。整个过程分成三关每一关都有明确的通关现象帮你确认成功。第一关拿到 JsonConverter.bas 并导入先获取项目源码在命令行执行git clone https://gitcode.com/gh_mirrors/vb/VBA-JSON然后打开你的 Excel或 Access按Alt F11进入 VBA 编辑器在菜单栏选择文件 → 导入文件选中项目里的JsonConverter.bas并确定。通关现象左侧项目资源管理器里出现名为JsonConverter的模块双击能看到大约 1100 行代码。看到它第一关就过了。配图建议此处可放置一张「VBA 编辑器中导入 JsonConverter.bas 后的项目资源管理器」截图帮助读者对照确认建议分辨率 600×300 以上。第二关配好字典Dictionary依赖VBA-JSON 把 JSON 对象解析成字典而字典在 VBA 里不是一个内置类型需要手动声明依赖Windows 用户在 VBA 编辑器菜单点击工具 → 引用在弹出的窗口中勾选Microsoft Scripting Runtime点确定。Mac 用户需要额外引入 VBA-Dictionary 项目里的Dictionary.cls类文件Mac 版 VBA 不带 Scripting Runtime。通关现象这一步没有直接的可视反馈但你可以在代码窗口随便打一个Dim d As Dictionary如果不弹用户定义类型未定义的编译错误就说明依赖配好了。第三关运行你的第一段 JSON 代码在 VBA 编辑器里插入一个标准模块粘贴下面的代码这是我特意挑的极简版本完整演示解析 → 改数据 → 生成全流程Sub 我的第一个JSON程序() 注意VBA 字符串里的引号要写两遍这是 VBA 的语法规则 Dim jsonText As String jsonText {a:123,b:[1,2,3,4],c:{d:456}} 核心一步把 JSON 字符串解析成对象 Dim obj As Object Set obj JsonConverter.ParseJson(jsonText) 取值对象用键名数组解析成 Collection下标从 1 开始 Debug.Print obj(a) 输出 123 Debug.Print obj(b)(2) 输出 2b 是数组第二项 Debug.Print obj(c)(d) 输出 456嵌套对象 改数据像操作字典一样直接赋值 obj(c)(e) 789 反向生成带 2 空格缩进的美化版 JSON Debug.Print JsonConverter.ConvertToJson(obj, Whitespace:2) End Sub把光标停在子过程里按F5运行然后按Ctrl G打开立即窗口。通关现象你能依次看到123、2、456最后是一段缩进整齐的 JSON——其中c里多了你刚加进去的e: 789。三关全过恭喜你已经会用 VBA-JSON 了真实案例三个贴近日常的实战场景会跑示例只是开始下面三个场景都是平时最容易遇到的代码只保留最关键部分。案例一把天气 API 的 JSON 写进 Excel 表格背景你每天要更新一张天气对比表数据来自某个接口返回的 JSON。操作解析 JSON 后遍历天数组逐行写入单元格Sub 导入天气数据() Dim jsonText As String jsonText {city:上海,days:[{date:2026-08-19,temp:31},{date:2026-08-20,temp:29}]} Dim root As Object Set root JsonConverter.ParseJson(jsonText) Dim row As Long row 2 从第 2 行开始写 Dim day As Object For Each day In root(days) days 数组被解析成 Collection Cells(row, 1).Value root(city) Cells(row, 2).Value day(date) Cells(row, 3).Value day(temp) row row 1 Next day MsgBox 已写入 root(days).Count 天天气数据 End Sub结果运行后表格里出现 2 行数据城市、日期、温度一目了然。之后把jsonText换成真实接口返回的内容就是一张全自动更新的报表。案例二Access 用 config.json 管理配置背景你的 Access 小系统的连接参数、重试次数想放在外部配置文件里改配置不用动代码。操作用文件系统对象读取config.json再交给ParseJsonFunction 读取配置() As Object 用 CreateObject 晚绑定避免额外的引用配置 Dim fso As Object, ts As Object Set fso CreateObject(Scripting.FileSystemObject) Set ts fso.OpenTextFile(CurrentProject.Path \config.json, 1) 1 只读 Dim text As String text ts.ReadAll ts.Close Set 读取配置 JsonConverter.ParseJson(text) JSON 对象 → Dictionary End Function Sub 测试配置读取() Dim cfg As Object Set cfg 读取配置() Debug.Print cfg(database)(host) 取嵌套配置config.json 里的 database.host Debug.Print cfg(retryTimes) 取普通配置项 End Sub结果只要config.json结构不变改参数就改文件代码零改动。给不懂代码的同事用特别省心。案例三把 Excel 报表一键导出为 JSON背景Web 端同事要接你的销售数据你不想手工整理希望一键生成标准 JSON 文件。操作把数据装进字典用ConvertToJson生成带缩进的 JSON再写入文件Sub 导出报表为JSON() Dim data As Object Set data CreateObject(Scripting.Dictionary) data.Add 报表名称, 8月销售数据 data.Add 更新时间, Format(Now(), yyyy-mm-dd hh:nn:ss) data.Add 产品, Array(手机, 笔记本, 平板) data.Add 销量, Array(120, 85, 66) Dim json As String json JsonConverter.ConvertToJson(data, Whitespace:2) 2 缩进 2 个空格 Dim fso As Object, ts As Object Set fso CreateObject(Scripting.FileSystemObject) Set ts fso.CreateTextFile(report.json, True) ts.Write json ts.Close MsgBox 已导出 report.json End Sub结果当前目录下生成report.json格式美观、转义正确Web 端直接拿去用省掉了两边的扯皮。避坑指南别人踩过的坑你提前绕开以下四个坑是新手最容易踩的提前知道能省下大量排查时间坑 1编译报用户定义类型未定义。几乎都是字典依赖没配好。Windows 用户请检查是否勾选了工具 → 引用 → Microsoft Scripting RuntimeMac 用户确认已导入 VBA-Dictionary 的Dictionary.cls。⚠️坑 2obj(b)(0)报下标越界。VBA-JSON 把 JSON 数组解析成 VBA 的Collection下标从1开始不是很多编程语言习惯的 0这是新手最常见、最容易忽略的差异。坑 3身份证号、订单号被截断。VBA 本身只保存 15 位有效数字超过就会丢精度。VBA-JSON 的默认策略很聪明超过 15 位的纯数字一律按字符串处理所以默认是安全的。如果你确实需要数值类型再显式设置JsonConverter.JsonOptions.UseDoubleForLargeNumbers True但要接受精度损失。坑 4解析时报错 10001JSON parse error。常见诱因是 JSON 里有多余的尾逗号或键没有加引号。标准 JSON 要求键必须用引号包裹如果你对接的是不规范的内部接口可以设置JsonConverter.JsonOptions.AllowUnquotedKeys True放宽限制。坑 5手写 JSON 字符串时引号爆炸。在 VBA 代码里写 JSON内部所有引号都要翻倍稍不留神就写错。更稳妥的做法是把 JSON 存成文件再读或通过接口实时获取。进阶思路从会用走向用精跑通案例之后沿着下面这条路径你能把这套库用到飞起吃透日期时间函数。VBA-JSON 内置了ParseIso、ConvertToIso、ParseUtc、ConvertToUtc对接带时区的时间戳再也不用自己硬算偏移量。配合 HTTP 请求做真正的接口调用。用 VBA 自带的WinHttpRequest或MSXML2.XMLHTTP发 GET/POST 请求把响应文本直接喂给ParseJson你的 Excel 就拥有了实时数据驾驶舱。读懂测试用例。打开specs/Specs.bas里面覆盖了几十个边界场景——转义字符、Unicode、null、多层嵌套、畸形输入等。看一遍这些用例你对 JSON 各种坑的理解会直接上一个台阶。研究JsonOptions的其余开关。比如EscapeSolidus把/转义成\/某些安全要求严格的接口会用到。关注生态整合。VBA-JSON 出身于 VBA-Web 项目熟悉它之后再接触 VBA-Web 等周边库就能组合出请求 → 解析 → 展示的完整 API 客户端方案。结尾别收藏了现在就动手还记得开头对着 JSON 长文本叹气的自己吗解决它的钥匙其实只是导入一个文件、勾一个引用、写一行ParseJson。今天的三个步骤——克隆项目、导入JsonConverter.bas、跑通第一段示例代码——你现在就能完成全部耗时不超过 10 分钟。下一步去找一份真实的 JSON 数据比如某个公开天气接口照着案例一把它变成你的 Excel 表格。把收藏换成运行你的 Office 应用从此就拥有和现代语言一样的 JSON 处理能力了。【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

微信朋友圈导出工具全攻略:三步把回忆永久备份成HTML

微信朋友圈导出工具全攻略:三步把回忆永久备份成HTML

2026/8/19 18:38:22

微信朋友圈导出工具全攻略:三步把回忆永久备份成HTML 【免费下载链接】WechatMoments 微信朋友圈导出工具-技术爬爬虾 项目地址: https://gitcode.com/gh_mirrors/we/WechatMoments 你有没有过这样的瞬间:想翻出三年前那条记录重要时刻的朋友圈&a…

告别五款工具来回切换,一个 Tabby 终端够用吗?

告别五款工具来回切换,一个 Tabby 终端够用吗?

2026/8/19 18:38:22

告别五款工具来回切换,一个 Tabby 终端够用吗? 【免费下载链接】tabby A terminal for a more modern age 项目地址: https://gitcode.com/GitHub_Trending/ta/tabby Tabby 是一款把本地终端、SSH/SFTP 客户端和串口调试聚合在同一个窗口里的跨平…

AZ-400工作项管理完整指南:Epic、Feature、PBI、Task、Bug五种工作项一次学会

AZ-400工作项管理完整指南:Epic、Feature、PBI、Task、Bug五种工作项一次学会

2026/8/19 18:38:22

AZ-400工作项管理完整指南:Epic、Feature、PBI、Task、Bug五种工作项一次学会 【免费下载链接】AZ400-DesigningandImplementingMicrosoftDevOpsSolutions AZ-400 Course Repository for Labs and Demos. 项目地址: https://gitcode.com/gh_mirrors/az/AZ400-Desi…

并发数据结构服务,先守住排队和内存

并发数据结构服务,先守住排队和内存

2026/8/19 19:28:23

并发数据结构服务,先守住排队和内存 高并发下最先失控的通常不是算法复杂度,而是排队和内存。请求处理速度低于进入速度时,队列会增长;若队列没有上限,进程最终可能因内存压力被系统终止。背压的目标是把这种失控转为可…

5分钟跑通本地大模型,一份就够用的KoboldCpp本地AI部署指南

5分钟跑通本地大模型,一份就够用的KoboldCpp本地AI部署指南

2026/8/19 19:28:23

5分钟跑通本地大模型,一份就够用的KoboldCpp本地AI部署指南 【免费下载链接】koboldcpp Run GGUF models easily with a KoboldAI UI. One File. Zero Install. 项目地址: https://gitcode.com/gh_mirrors/ko/koboldcpp 你有没有过这样的时刻:兴冲…

5分钟快速上手VimBox:MacVim现代配置一键安装教程

5分钟快速上手VimBox:MacVim现代配置一键安装教程

2026/8/19 19:28:23

5分钟快速上手VimBox:MacVim现代配置一键安装教程 【免费下载链接】VimBox Simple, Modern MacVim Configuration 项目地址: https://gitcode.com/gh_mirrors/vi/VimBox 如果你正在寻找一份开箱即用的 MacVim 配置,希望告别繁琐的 .vimrc 调校和插…

NuvioMobile 插件安装完整实战指南:半小时从空壳到装满影视资源

NuvioMobile 插件安装完整实战指南:半小时从空壳到装满影视资源

2026/8/19 19:28:23

NuvioMobile 插件安装完整实战指南:半小时从空壳到装满影视资源 【免费下载链接】NuvioMobile Official Nuvio Mobile Repository 项目地址: https://gitcode.com/gh_mirrors/nu/NuvioMobile NuvioMobile 是一款基于 Kotlin Multiplatform 打造的跨平台媒体中…

ExplorerPatcher终极安装教程:快速恢复Windows 10经典界面

ExplorerPatcher终极安装教程:快速恢复Windows 10经典界面

2026/8/19 19:28:23

ExplorerPatcher终极安装教程:快速恢复Windows 10经典界面 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 每天打开电脑&#xff0…

零基础快速搞定3D点云标注:我用SUSTechPOINTS完成整个项目的实战记录

零基础快速搞定3D点云标注:我用SUSTechPOINTS完成整个项目的实战记录

2026/8/19 19:18:23

零基础快速搞定3D点云标注:我用SUSTechPOINTS完成整个项目的实战记录 【免费下载链接】SUSTechPOINTS 3D Point Cloud Annotation Platform for Autonomous Driving 项目地址: https://gitcode.com/gh_mirrors/su/SUSTechPOINTS 那一晚,我盯着激光…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/19 9:17:18

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

SQL 调优 [ 2 ]

SQL 调优 [ 2 ]

2026/8/19 0:07:32

type列详解EXPLAIN输出的type列描述了表是如何连接的,性能从最好到最差的排序如下:systemconsteq_refreffulltextref_or_nullindex_mergeunique_subqueryindex_subqueryrangeindexALL接下来我们对 type列 做详细讲解。我们都知道,想要评估一条…

正式评优怎么选投票工具?人人微投票审计级防刷能力实测

正式评优怎么选投票工具?人人微投票审计级防刷能力实测

2026/8/19 0:07:32

在线上投票工具遍地开花的今天,选择一个合适的平台,本质上是在做一道关于场景与需求的匹配题。人人微投票是一个很典型的案例——它的产品逻辑、技术架构和商业模式,都围绕着“正式评选”这个细分场景深度扎根,也因此形成了自己鲜…

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?

2026/8/19 0:07:32

15 天 3 连发:DeepSeek 的「机枪」节奏,到底在下什么棋?回看 2026 年 8 月这半个月,DeepSeek 的动作密度堪称疯狂:月初端出便宜快速的 V4-Flash,8 月 13 日同一天甩出 V4-Pro 正式版 开源 Harness 框架&am…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…