将 VBA 宏转换为 Apps 脚本

准备工作

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

修改了不兼容的 VBA API

对于状态为支持解决方法需要调查的文件,您可以在转换后在 Apps 脚本中应用解决方法和修复方案,但我们建议您在转换文件之前先修改自己熟悉的 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 往往会执行宏的关键操作,例如连接到数据库或访问本地资源,而 Apps 脚本通常不是一个好的解决方案。

第 1 步:转换文件

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

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

运行您的 Apps 脚本代码

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

测试触发器

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

查看 ReadMe 文件

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

  • 如果在您尚未测试的情况下,这些问题可能会导致问题,请对您的代码应用建议的更改。
  • 如果您已测试了所有可能的场景,并且一切正常,那么您可能不需要做出更改。

第 3 步:修正错误

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

如果代码运行正常,但结果不符合您的预期,请打开文件的 ReadMe 文件。请查看每个部分,以帮助确定导致问题的原因,并采用建议的修复方案。

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