32 ビット バージョンの Office 2010 プログラムで VBA マクロを実行しようとすると、"コンパイル エラー: プロシージャが大きすぎます"

現象

32 ビット バージョンの Microsoft Office 2010 プログラムでVisual Basic for Applications (VBA) マクロを実行しようとすると、次のエラー メッセージが表示されます。

"コンパイル エラー: プロシージャが大きすぎます"

原因

この問題は、VBA マクロが Office 2010 プログラムの 64 ビット バージョンを使用して作成されたために発生する可能性があります。

回避策

この問題を解決するには、32 ビット バージョンの Office 2010 プログラムを使用して VBA マクロを作成します。

詳細情報

Office 2010 プログラムの 64 ビット バージョンを使用すると、32 ビット バージョンの Office プログラムを実行している他のコンピューターで使用するには大きくなりすぎる VBA マクロを記述できます。 これには、Office 2010 以前のバージョンの Office の 32 ビット バージョンが含まれます。 32 ビット バージョンの Office アプリケーション用に作成された VBA マクロは、同じ 64 ビット バージョンの Office 2010 プログラムで実行でき、プログラムの 64 ビット バージョン用に記述されたほとんどの VBA マクロは、プログラムの 32 ビット バージョンで実行されます。 ただし、大きすぎるマクロは、"現象" セクションに記載されているVisual Basic for Applicationsエラー メッセージと共に失敗します。

マクロ開発者は、Visual Basic for Applications 7.0 では、マクロが Office 2010 プログラムの 32 ビット バージョンから Office 2010 プログラムの 64 ビット バージョンに移行された場合にのみ互換性が保証されることに注意する必要があります。 Office 2010 プログラムの 64 ビット バージョンから Office 2010 プログラムの 32 ビット バージョンに移行する場合、互換性はありません。 つまり、32 ビット バージョンの Office 2010 で作成されたマクロは、64 ビット バージョンの Office 2010 で実行できますが、Office 2010 の 64 ビット バージョンで作成されたマクロは実行できますが、32 ビット バージョンの Office 2010 では実行が保証されません。 Office 2010 マクロを作成する開発者は、32 ビット バージョンの Office 2010 で開発し、32 ビット版と 64 ビット 版の両方の Office 2010 で完全な互換性を実現する必要があります。