首页 > 解决方案 > VBA 将模块序列化为 JSON

问题描述

我有一个要转换为 C# 的 VBA 项目。我需要能够运行单元测试来验证转换后的 C# 代码。所有原始应用程序的数据都存储在全局变量中的单个模块中,序列化这个模块非常有用,这样我就可以在单元测试中从中获取子程序输入和输出。

我已经阅读了其他问题并找到了这个 github 项目:

https://github.com/VBA-tools/VBA-JSON

不幸的是,您必须将一个对象传递给它的“ConvertToJson”函数,并且模块没有我可以传入的引用。

这个库有没有办法序列化模块而不是类模块?

有没有办法从模块创建对象引用?

谢谢!

标签: jsonvba

解决方案


您可以尝试将您的模块转换为具有 PredeclaredId 的类。无需新建对象,只需在方法调用前加上类名即可。为了避免导出模块的麻烦,将 predeclaredId 设置为 true 并重新导入,您可以安装免费且出色的 Rubberduck AddIn for VBA。


推荐阅读