• 締切済み

Excel VBA 異常終了する

事象: 1.Excel のマクロを実行する 2.外部dllの関数をCALL 3.「問題が発生したため、Microsoft Office Excelを終了します」で強制終了 環境: Excel2003 , WindowsXP 状況: ・Windows7では正常に動作する ・外部dllの関数は、別のExcel マクロでは問題なく動作する(異常が発生するPC) ・15KByteと44KByteの変数(構造体定義)を使用している 質問内容:  ・XP環境で、特定のマクロの場合に、異常終了する理由が分かりません  ・変数定義のサイズが関係しているようですが、規定(最大サイズ)があるのでしょうか

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

32bitマシンと64bitマシンの違いでは? だとしたらCPUの処理単位が違いますので、 DLLはそれぞれ作る必要があります。

EV11
質問者

補足

Windows7環境も32bitマシンの環境です。 調査をしていると、実行時のメモリ使用量が一定量を超えた場合、異常終了しているみたいです。 ■確認できたこと ・正常動作する環境(Windows7)においてもローカル変数、グローバル変数(動的、静的含む)を大量に定義した場合に、同じように異常終了する ・異常終了する環境において、ローカル変数、グローバル変数を少なくした場合、正常に動作する ■不明点 ・実行時のExcel VBAのメモリ使用量の制限  (静的変数が64KByteをこえるとコンパイルエラーになるが、実行時の制限はあるのか?) ・メモリ制限がある場合の回避のしかた   ■実施していること ・動的変数のメモリ開放(Erase)はしています ・可能な限り動的変数(配列)を使用(一部静的変数を使用)

関連するQ&A