將 VBA 巨集轉換為 Apps Script

事前準備

轉換檔案前,您可能需要更新 VBA 程式碼中不相容的 API。如果檔案狀態為「完全支援」,請繼續進行步驟 1:轉換檔案

修改不相容的 VBA API

如果檔案的狀態為「支援但需使用變通方法」或「需要調查」,您可以在轉換後透過 Apps Script 套用變通方法和修正內容,但建議您先修改熟悉的 VBA 程式碼,再轉換檔案。

如果相容性報告中,有任何 API 標示為「支援但需要解決方法」或「需要調查」,建議採取下列做法:

  • 如果 API 執行的函式並非 VBA 巨集正常運作的必要條件,請從 VBA 程式碼中移除該函式。如果是,請變更程式碼,使用支援的 VBA API 實作類似行為。
  • 如果 API 狀態為「支援但需使用替代方案」,且您無法改用支援的 VBA API,請保留現有的 VBA API。轉換為 Apps Script 後,轉換的 Apps Script 程式碼註解中會提供此 API 的已知替代方案。
  • 如果問題來自未實作的語言建構,請重新編寫程式碼,避免使用這些建構。
  • 如果 API 狀態為「需要調查」,請檢查程式碼是否包含下列任一 API:

    • Adodb.connection
    • CreateObject:這個 API 通常用於連線至資料庫和企業資源規劃軟體。
    • Shell.execute
    • OleObject

    如果是,建議您不要轉換這些 API 所屬的檔案,並考慮其他做法。這些 API 通常會為巨集執行重要作業,例如連線至資料庫或存取本機資源,因此一般不適合使用 Apps Script。

步驟 1:轉換檔案

  1. 在電腦上開啟 Google 雲端硬碟
  2. 在右側面板中,按一下「巨集轉換器」外掛程式 巨集轉換器圖示。如果沒有看到側邊面板,請按一下右下方的「顯示側邊面板」圖示
  3. 按一下「新增檔案和資料夾」。巨集轉換器只會辨識 Excel 檔案。
  4. 選擇要轉換的檔案或資料夾,然後按一下「選取」。一次選取的檔案數量少於 2,000 個。
  5. 如要變更轉換後檔案的儲存位置,請按一下「變更目的地資料夾」圖示 ,然後選取所需資料夾。否則檔案會儲存在「我的雲端硬碟」資料夾中。
  6. 按一下「轉換」
  7. 轉換完成後,按一下「查看結果」

步驟 2:測試轉換後的檔案

執行 Apps Script 程式碼

轉換檔案後,請測試 Apps Script 函式。使用您平常在 Excel 檔案中使用的資料,測試轉換後的檔案。盡可能比較轉換後的 Google 試算表檔案輸出內容與原始 Excel 檔案的輸出內容。

測試觸發條件

如果檔案包含 onOpen()onEdit()onClick() 等觸發條件,請一併測試觸發條件。部分 VBA 觸發條件不會自動轉換,必須在 Apps Script 中處理。請參閱「解決常見問題」。

查看 ReadMe 檔案

如果轉換後的檔案產生了 ReadMe 檔案,請查看 ReadMe 檔案中列出的轉換問題。

  • 如果問題可能會對您尚未測試的案例造成影響,請將建議的變更套用至程式碼。
  • 如果您已測試所有可能的情境,且一切運作正常,則可能不需要進行變更。

步驟 3:修正錯誤

如果在測試檔案時發生錯誤,請參閱「修正轉換後的程式碼中的錯誤」。

如果程式碼執行時沒有錯誤,但結果不符合預期,請開啟檔案的 ReadMe 檔案。請詳閱各節內容,找出問題原因並套用建議的修正方式。

修正錯誤後,請再次測試檔案,確保一切運作正常。