将 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 往往会对宏执行关键操作,例如连接到数据库或访问本地资源,Apps 脚本通常不是一个好的解决方案。

第 1 步:转换文件

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

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

运行 Apps 脚本代码

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

测试触发器

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

查看“ReadMe”文件

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

  • 如果在您未测试的情况下出现问题,请对代码应用建议的更改。
  • 如果您已测试所有可能的情况,并且一切都按预期运行,则可能无需进行更改。

第 3 步:修正错误

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

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

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