始める前に
ファイルを変換する前に、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: ファイルを変換する
- パソコンで Google ドライブを開きます。
- 右側のパネルで、Macro Converter アドオン をクリックします。サイドパネルが表示されていない場合は、右下にある [サイドパネルを表示 ] をクリックします。
- [ファイルとフォルダを追加] をクリックします。Macro Converter は Excel ファイルのみを認識します。
- 変換するファイルまたはフォルダを選択し、[選択] をクリックします。一度に選択するファイル数が 2,000 未満である。
- 変換したファイルの保存場所を変更するには、[保存先フォルダの変更] をクリックし、目的のフォルダを選択します。それ以外の場合、ファイルは [マイドライブ] フォルダに保存されます。
- [変換] をクリックします。
- 変換が完了したら、[結果を表示] をクリックします。
手順 2: 変換したファイルをテストする
Apps Script コードを実行する
ファイルを変換したら、Apps Script 関数をテストします。変換後のファイルを、通常 Excel ファイルで使用するデータでテストします。可能であれば、変換したスプレッドシート ファイルの出力と元の Excel ファイルの出力を比較します。
トリガーをテストする
ファイルに onOpen()
、onEdit()
、onClick()
などのトリガーが含まれている場合は、トリガーもテストします。一部の VBA トリガーは自動的に変換されないため、Apps Script で対処する必要があります。よくある問題に対処するをご覧ください。
ReadMe ファイルを確認する
変換後のファイルで ReadMe ファイルが生成されている場合は、ReadMe ファイルに記載されている変換の問題を確認します。
- テストしていないケースで問題を引き起こす可能性がある場合は、推奨される変更をコードに適用してください。
- 考えられるすべてのシナリオをテストし、すべてが意図したとおりに機能していれば、おそらく変更は必要ありません。
ステップ 3: エラーを修正する
ファイルのテスト中にエラーが発生した場合は、変換されたコードのエラーを修正するをご覧ください。
コードがエラーなしで実行されていても、結果が期待どおりでない場合は、ファイルの ReadMe ファイルを開きます。各セクションを確認して、問題の原因を特定し、推奨される修正を適用してください。
エラーを修正したら、ファイルをもう一度テストして、すべてが意図したとおりに機能することを確認します。
関連記事
- Macro Converter アドオンの概要
- VBA マクロが対応しているかどうかを確認する
- 変換後のコードのエラーを修正する
- よくある問題に対処する
- Macro Converter のチュートリアルを視聴する
- 互換性のある VBA API のリスト