将 VBA 宏转换为 Apps 脚本

准备工作

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

修改不兼容的 VBA API

对于状态为支持(可使用权宜解决方法)需要调查的文件,您可以在转换后在 Apps Script 中应用权宜解决方法和修复程序,但我们建议您先修改熟悉的 VBA 代码,然后再转换文件。

对于兼容性报告中标记为支持(有权宜解决方法)需要调查的每个 API,我们建议您执行以下操作:

  • 如果 API 执行的函数对 VBA 宏的正常运行不是至关重要,请将其从 VBA 代码中移除。如果是,请更改代码,以使用受支持的 VBA API 实现类似行为。
  • 对于状态为支持(可使用权宜解决方法)的 API,如果您无法切换到受支持的 VBA API,请将 VBA API 保持不变。转换为 Apps 脚本后,建议在转换后的 Apps 脚本代码的注释中添加此 API 的已知权宜解决方法。
  • 如果问题来自未实现的语言结构,请重写代码以避免使用这些结构。
  • 对于状态为需要调查的 API,请检查您的代码是否包含以下任何 API:

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

    如果是,我们建议您不要转换这些 API 所属的文件,并探索其他选项。这些 API 通常会执行宏的关键操作,例如连接到数据库或访问本地资源,而 Google Apps 脚本通常不是一个好解决方案。

第 1 步:转换文件

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

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

运行 Apps 脚本代码

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

测试触发器

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

查看“ReadMe”文件

如果系统随转换后的文件生成了自述文件,请查看自述文件中列出的转换问题。

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

第 3 步:修正错误

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

如果代码在运行时没有出错,但结果不符合预期,请打开文件的“ReadMe”文件。请查看每个部分,以帮助确定问题原因并应用建议的解决方法。

修复错误后,请再次测试文件,确保一切按预期运行。