VBA マクロに互換性があるかどうかを確認する

Visual Basic for Applications(VBA)マクロを含む Excel ファイルは、マクロで使用されているすべての API に Apps Script で直接同等のものがある場合に互換性があると見なされます。マクロに完全な互換性がない場合は、回避策を適用するか、コードを調整して Apps Script で動作するようにできる可能性があります。

Macro Converter の互換性レポートを使用して、ファイルをそのまま自動的に変換できるかどうか、またはコードを調整する必要があるかどうかを確認します。

互換性レポートを生成すると、各ファイルと API に次のいずれかのステータスが適用されます。

ステータス 定義
完全にサポートされている これらのファイルには、Apps Script に直接対応する API が含まれています。
回避策でサポート これらのファイルには、回避策でサポートできる API が 1 つ以上含まれています。
追加の調査が必要 これらのファイルには、続行方法を決定するために確認する必要がある API が少なくとも 1 つ含まれています。たとえば、同等の API が存在しない場合や、マクロ コンバータが使用中の API を特定できなかった場合などです。

互換性レポートを生成する

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

互換性レポートを確認する

互換性レポートの詳細を使用して、ファイルの変換をどのように進めるかを判断します。レポートには次のセクションが含まれます。

  • 概要: このシートには、送信されたすべてのファイルとその API の互換性に関する集計分析が表示されます。
  • ファイル - 互換性: このシートには、マクロ コンバータに送信されたすべてのファイルと、各ファイルの互換性ステータスと詳細が一覧表示されます。
  • Files - detailed analysis: このシートには、ファイル内の API に関する詳細情報と、各 API を正常に変換するために実行できるアクションが記載されています。まず、上部のプルダウン メニューからファイルを選択します。次に、下部のプルダウン メニューからステータスを選択します。

また、[APIs to investigate] シートと [APIs with workarounds] シートを使用して、API ごとにレポートを確認することもできます。

対応方法を決定する

各ステータスにおすすめの対応は次のとおりです。

ステータス 推奨事項
完全にサポートされている VBA API の同じロジックを Apps Script で複製できます。変換を続行します
回避策でサポート 少なくとも 1 つの VBA API を同等の Apps Script API に置き換えるコードを記述する必要があります。通常は、変換を続行できます。

回避策でサポートされているとマークされた VBA API は、ファイルの変換前または変換後に手動で置き換えることができます。事前に変更を行うことをおすすめします。

追加の調査が必要 少なくとも 1 つの API を変換できません。コード内の API の重要度によっては、ファイルを変換できない場合があります。元の VBA コードを理解している人が最終評価を行う必要があります。

ファイルを変換する場合は、少なくとも 1 つの VBA API を Apps Script に置き換えるコードを記述する必要があります。調査が必要とマークされた VBA API は、ファイルの変換前または変換後に手動で置き換えることができます。事前に変更を行うことをおすすめします。

互換性レポートを評価したら、VBA マクロを Apps Script に変換するをご覧ください。