古いPCでは動くのに、新しいPCへ移したらコンパイルエラーや「ファイルが見つかりません」が出る。マクロ本体が壊れたとは限らず、Officeの32bit・64bit、参照ライブラリ、保存パス、プリンターなど環境差が原因のことがあります。
旧PCを処分する前に、動作する状態と設定を記録し、同じ入力で比較できるようにします。
旧PCで動くなら、マクロと環境の差を一つずつ比較します。64bit対応が必要なAPI宣言、参照設定、ローカルパス、ドライブ文字、プリンター名、アドインを確認し、特定PCの設定に依存しない形へ直します。
移行時に確認する環境差
エラー文だけでなく、旧新PCの条件を並べます。
- Windows・macOSとバージョン
- Office・Excelのバージョンと32bit/64bit
- 参照設定とアドイン
- ファイル・フォルダー・ドライブのパス
- プリンター・PDF・メール環境
- セキュリティポリシーと信頼済み場所
旧PCを正解として再現テストを作る
同じ入力ファイル、同じ操作、同じ期待結果で旧新PCを比較します。表示されたエラーの全文、止まる行、処理前後のファイルを残します。
API宣言の修正だけでなく、LongPtrなどデータ型の違いも確認します。参照ライブラリが「参照不可」になっている場合は、必要性と代替方法を見直します。
- 1旧環境を記録する
bit数、参照設定、保存先、プリンター、正常結果を控えます。
- 2新環境との差を切り分ける
エラーが出る最小操作まで絞り、依存項目を一つずつ確認します。
- 3両環境で再試験する
必要なら32bit・64bit両対応にし、代表データで結果を照合します。
その場しのぎの設定変更で終わらせない
旧と同じフォルダー名を無理に作るだけでは、次回移行で再発します。設定値を外出しし、ファイル位置をブックから判断するなど、環境差を吸収できる形にします。
| 方法 | 向いている場面 | 確認したい点 |
|---|---|---|
| VBAコード修正 | API宣言・パス・参照を対応 | 旧新双方でテストする |
| 環境設定の調整 | 必要なアドインや信頼設定をそろえる | セキュリティを無制限に緩めない |
| 再構築 | 古い依存が多く保守困難 | 現行業務と必要機能を再確認 |
64bit環境への移行で確認しておきたいこと
旧PCが残っている間に、正常動作の画面録画、設定一覧、出力結果を保存します。
- エラー全文とスクリーンショットを残す
- Excelのbit数を確認する
- 参照設定で「参照不可」を探す
- 固定パス・ドライブ・プリンター名を控える
64bit環境への移行を相談するときに伝えること
旧PCと新PCの情報を並べ、同じ入力で再現できる状態にします。
- 問題ブックと正常な旧版
- 旧新PCのExcel情報
- エラー全文と止まる操作
- 必要な外部ファイル・アドイン
- 正しい出力結果
64bit環境への移行をプロに任せる目安
- API宣言や外部DLLを使っている
- 参照不可やコンパイルエラーが複数ある
- PCごとに保存先やプリンターが違う
- 今後のPC更新でも使える形へ直したい
64bit環境への移行で確認しておきたいこと
マクロをすべて許可する設定に変えるだけでは、互換性問題は解決せず安全性も下がります。
- 旧PCを処分してから調査する
- エラー文を控えず閉じる
- 32bit版へ戻すだけで恒久対応とする
- 参照設定を無差別に追加する
64bit環境への移行で確認しておきたいこと
64bit版Officeへ変えるとすべてのVBAを直す必要がありますか?
多くのコードはそのまま動きますが、Windows APIのDeclareなど一部は対応が必要です。
旧PCがもうありません。直せますか?
可能な場合はありますが、正常結果や必要ファイルが分からないと調査範囲が広がります。利用者の記録を集めてください。
新PCだけ32bit版Officeへ戻せばよいですか?
一時的な回避になる場合はありますが、今後の運用と他アプリの要件も含めて判断します。