VBA マクロを Apps Script に変換する

始める前に

ファイルを変換する前に、VBA コード内の互換性のない API を更新することをおすすめします。ステータスが「Supported exactly」のファイルについては、ステップ 1: ファイルを変換するに進んでください。

互換性のない VBA API を変更する

ステータスが [回避策でサポート] または [調査が必要] のファイルについては、Apps Script で変換後に回避策と修正を適用できますが、ファイルを変換する前に、まず使い慣れた VBA コードを変更することをおすすめします。

互換性レポートで「回避策でサポート」または「調査が必要」とマークされている API ごとに、次のことをおすすめします。

  • API によって実行される関数が VBA マクロの正常な動作に不可欠でない場合は、VBA コードから削除します。その場合は、サポートされている VBA API を使用して同様の動作を実装するようにコードを変更します。
  • ステータスが [回避策でサポート] の API の場合、サポートされている VBA API に切り替えることができない場合は、VBA API をそのままにします。Apps Script に変換した後、変換された Apps Script コードのコメントに、この API の既知の回避策が推奨されます。
  • 問題が 実装されていない言語構造に起因する場合は、それらの構造を使用しないようにコードを書き直してください。
  • ステータスが [Needs investigation] の API については、コードに次の API が含まれているかどうかを確認します。

    • Adodb.connection
    • CreateObject: この API は、データベースやエンタープライズ リソース プランニング ソフトウェアへの接続によく使用されます。
    • Shell.execute
    • OleObject

    「はい」の場合は、これらの API が属するファイルを変換せずに、他のオプションを検討することをおすすめします。これらの API は、データベースへの接続やローカル リソースへのアクセスなど、マクロの重要なオペレーションを実行する傾向があるため、一般的に Apps Script は適切なソリューションではありません。

ステップ 1: ファイルを変換する

  1. パソコンで Google ドライブを開きます。
  2. 右側のパネルで、マクロ コンバータ アドオン Macro Converter アイコン をクリックします。サイドパネルが表示されていない場合は、右下の「サイドパネルを表示」アイコン をクリックします。
  3. [ファイルとフォルダを追加] をクリックします。Macro Converter は Excel ファイルのみを認識します。
  4. 変換するファイルまたはフォルダを選択して、[選択] をクリックします。一度に選択するファイル数は 2,000 個未満にしてください。
  5. 変換後のファイルの保存先を変更するには、[変換後の保存先フォルダを変更] をクリックして、目的のフォルダを選択します。それ以外の場合は、ファイルはマイドライブ フォルダに保存されます。
  6. [変換] をクリックします。
  7. 変換が完了したら、[結果を表示] をクリックします。

ステップ 2: 変換したファイルをテストする

Apps Script コードを実行する

ファイルを変換したら、Apps Script 関数をテストします。変換したファイルを、Excel ファイルで通常使用するデータでテストします。可能であれば、変換後のスプレッドシート ファイルの出力と元の Excel ファイルの出力を比較します。

トリガーをテストする

ファイルに onOpen()onEdit()onClick() などのトリガーが含まれている場合は、トリガーもテストします。一部の VBA トリガーは自動的に変換されないため、Apps Script で対応する必要があります。一般的な問題に対処するをご覧ください。

ReadMe ファイルを確認する

変換されたファイルとともに ReadMe ファイルが生成された場合は、ReadMe ファイルに記載されている変換の問題を確認します。

  • テストしていないケースで問題が発生する可能性がある場合は、推奨される変更をコードに適用します。
  • 考えられるすべてのシナリオをテストし、すべてが意図したとおりに動作する場合は、変更を行う必要はないでしょう。

ステップ 3: エラーを修正する

ファイルのテスト中にエラーが発生した場合は、変換されたコードのエラーを修正するをご覧ください。

コードがエラーなしで実行されたが、結果が期待どおりではない場合は、ファイルの ReadMe ファイルを開きます。各セクションを確認して、問題の原因を特定し、推奨される修正を適用します。

エラーを修正したら、ファイルを再度テストして、すべてが意図したとおりに動作することを確認します。