将 VBA 宏转换为 Apps 脚本

使用 Macro Converter 插件可将包含 Visual Basic for Applications (VBA) 代码的 Excel 文件自动转换为 Google 表格文件和 Apps 脚本。

准备工作

在转换文件之前,您可能需要更新 VBA 代码中不兼容的 API。对于状态为“完全支持”的文件,您可以继续执行 第 1 步:转换文件

修改不兼容的 VBA API

对于状态为 通过变通方法支持需要 调查 的文件,您可以在 Apps 脚本中转换后应用变通方法和修复程序,但我们建议您先修改熟悉的 VBA 代码,然后再转换文件。

对于兼容性报告中标记为通过变通方法支持需要调查的每个 API,我们建议您执行以下操作:

  • 如果 API 执行的函数对 VBA 宏并不重要,请将其从 VBA 代码中移除。如果该函数至关重要,请更改代码 以使用 受支持的 VBA API 实现类似的行为。

  • 对于“通过变通方法支持”的 API,如果您找不到受支持的 VBA 替代方案,请保持 VBA 代码不变。转换后,请在 Apps 脚本代码注释中查找推荐的变通方法。

  • 如果问题源于未实现的语言结构,请重写代码以避免使用这些结构。

  • 对于状态为需要调查的 API,请检查您的代码是否包含 以下任何 API:

    • Adodb.connection
    • CreateObject:此 API 通常用于连接到数据库和企业资源规划软件。
    • Shell.execute
    • OleObject

    如果您的宏使用这些 API,请重新考虑是否转换这些文件。这些 API 通常管理数据库连接或本地系统访问等关键功能,而 Apps 脚本无法轻松复制这些功能。

第 1 步:转换文件

  1. 在计算机上打开 Google 云端硬盘
  2. 在右侧边栏上,点击 Macro Converter 插件 微距转换器的图标.如果您没有看到侧边栏,请点击右下方的“显示侧边栏”图标
  3. 点击添加文件和文件夹 。Macro Converter 仅识别 Excel 文件。
  4. 选择要转换的文件或文件夹,然后点击选择 。每次选择的文件数不得超过 2,000 个。
  5. 如需更改转换后的文件的保存位置,请点击“更改目标文件夹”图标 ,然后选择所需的文件夹。否则,文件将保存在“我的云端硬盘”文件夹中。
  6. 点击转换
  7. 转换完成后,点击查看结果

第 2 步:测试转换后的文件

转换文件后,请对其进行测试,以确保它们能够按预期运行。

运行 Apps 脚本代码

转换文件后,请测试 Apps 脚本函数。 使用您通常用于 Excel 文件的数据测试转换后的文件。 如果可以,请将转换后的 Google 表格文件的输出与原始 Excel 文件的输出进行比较。

测试触发器

如果您的文件包含 onOpen()onEdit()onClick() 等触发器,请同时测试这些触发器。某些 VBA 触发器不会自动转换,需要在 Apps 脚本中进行处理。请参阅解决常见 问题

查看 ReadMe 文件

如果转换后的文件生成了 ReadMe 文件,请查看 ReadMe 文件中列出的转换问题。

  • 如果这些问题可能会对您尚未测试的情况造成问题,请对代码应用建议的更改。
  • 如果您已测试所有可能的情况,并且一切运行正常,则可能无需进行更改。

第 3 步:修复错误

如果在测试文件时遇到错误,请参阅修复转换后的代码中的错误

如果代码运行没有错误,但结果不是您预期的,请打开文件的 ReadMe 文件。查看每个部分,以帮助确定导致问题的原因并应用建议的修复方法。

修复错误后,请再次测试该文件,以确保一切运行正常。