フォーム Unloadしてもメモリが解放されない場合の対処は?


kez  2009-04-23 00:42:35  No: 141854

エクセル(2007)にてフォームを作成、実行した際に増加したメモリーがUnload後にも減少せず、500〜1000kほどそのまま貯まってしまいます。
まっさらなブックにフォームを1つ作成し、ボタン1つを配し、

・モジュール側
Sub FormShow()

    UserForm1.Show

End Sub

・フォーム側
Private Sub CommandButton1_Click()

    Unload Me

End Sub

これだけを記述して実行し、確認したのですがやはり増えます。
また、

Private Sub CommandButton1_Click()

    Me.Hide

End Sub

これにおいてもフォーム表示→非表示の手続きをした場合、同じように500kほどずつ毎回メモリーが増加していきます。
この結果は一般的なものなのでしょうか?  例えばエクセルの別機能部分でメモリーが消費されていっているのかなどとも考えています。あるいは基本的な間違いを犯しているのでしょうか?  またはPCスペックなどの影響などがあり得たりするのでしょうか?

モジュール側でオブジェクトにフォームをセットしてテストしてみたりもしたのですが、フォームを閉じると参照先を失いオートメーションエラーとなったりもするので役に立ちません。

メモリーリークを無くしたいのでどうぞご教授の程をお願いします。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加