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. 右側のパネルで、マクロ変換アドオン 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 ファイルを開きます。各セクションを確認して問題の原因を特定し、推奨される修正を適用します。

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