Excelを32ビット版から64ビット版に変更したら、VBAから別のExcelファイルを開くときに「非表示モジュール内でコンパイルエラーが発生しました。」が表示された。

「Set  ワークブックを読み取りのパスワードを指定して開く= Workbooks.Open()」を実行し、ファイル選択ダイアログが表示され、ファイルを選択すると表示される。動作は正常だが、エラーダイアログが表示される。

(1)「非表示モジュール内でコンパイルエラーが発生しました。

通常このエラーは、コードがこのアプリケーションのバージョン、プラットフォーム?

(x86)\Common Files\Microsoft Shared\OFFICE16\MSO.DLL」

このエラーダイアログが表示されたことがあるが、どちらが表示されるかはわからない。

(2)「非表示モジュール内でコンパイルエラーが発生しました。

通常このエラーは、コードがこのアプリケーションのバージョン、プラットフォーム?」

(3)「コンパイルエラー:

このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントにPtrSafe属性を設定してください。」

<推定原因>どのエラーダイアログが表示されるかの理由は不明である。

また、「Workbook.Open」を実行したときにコンパイルエラーが表示される理由も不明である。

<対処>Excel-64bit環境でコンパイルしてエラーになった行を修正すれば、起動時や実行時にエラーが発生しなくなった。修正したソースは以下である。使っていないので、ただコメントにしただけですが。