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

始める前に

ファイルを変換する前に、VBA コード内の互換性のない API を更新することをおすすめします。ファイルのステータスが [正確にサポート] の場合は、ステップ 1: ファイルを変換するに進みます。

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

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

互換性レポートで [サポート対象(回避策あり)] または [調査が必要] とマークされている API ごとに、以下を行うことをおすすめします。

  • API によって実行される関数が、VBA マクロが正常に動作するうえで重要でない場合は、VBA コードからその関数を削除します。使用可能な場合は、サポートされている VBA API を使用して同様の動作を実装するようにコードを変更します。
  • API のステータスが [サポート対象(次善策あり)] で、サポート対象の VBA API に切り替えられない場合は、VBA API をそのままにしておきます。Apps Script に変換した後、この API の既知の回避策が、変換された Apps Script コードのコメントに推奨されます。
  • 問題の原因が未実装の言語構造にある場合は、それらの構造を使用しないようにコードを書き換えてください。
  • API のステータスが [調査が必要] の場合は、コードに次のいずれかの API が含まれているかどうかを確認します。

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

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

手順 1: ファイルを変換する

  1. パソコンで Google ドライブを開きます。
  2. 右側のパネルで、Macro Converter アドオン 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 ファイルを開きます。各セクションを確認して、問題の原因を特定し、推奨される修正を適用してください。

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