将 VBA 宏转换为 Apps 脚本

准备工作

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

修改不兼容的 VBA API

适用于状态为受支持,但有解决方法需要 调查,您可以在转换后应用权宜解决方法和修复 但我们建议您修改 然后再转换文件

对于每个在 兼容性报告中,我们建议执行以下操作:

  • 如果该 API 执行的功能对 VBA 宏能否正常工作并不重要 将其从 VBA 代码中移除如果是,请将代码更改为 使用受支持的 VBA API 实现类似的行为。
  • 对于状态为受支持(含解决方法)的 API,如果您无法改用 支持 VBA API,请将 VBA API 保留原样。转换为应用后 脚本,这是此 API 的已知解决方法, 转换后的 Apps 脚本代码。
  • 如果问题来自未实现的语言结构,请重新编写代码,以避免使用 这些构造。
  • 对于状态为需要调查的 API,请检查您的代码是否包含 以下任意 API:

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

    如果是,我们建议您不要转换这些 API 所属的文件 并研究其他方案这些 API 往往用于执行关键操作 例如,连接到数据库或访问本地资源;以及 Apps 脚本通常不是一个好的解决方案。

第 1 步:转换文件

  1. 在计算机上打开 Google 云端硬盘
  2. 在右侧面板上,点击 Macro Converter 插件 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 文件中。查看各个部分有助于确定 并采用建议的解决方法。

修正错误后,请再次测试文件,确保一切正常 。