Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2216 / 13645 ツリー ←次へ | 前へ→

【69345】変数の宣言について gin 11/6/28(火) 19:16 質問[未読]
【69347】Re:変数の宣言について neptune 11/6/28(火) 21:33 発言[未読]
【69350】Re:変数の宣言について gin 11/6/29(水) 6:49 発言[未読]

【69345】変数の宣言について
質問  gin  - 11/6/28(火) 19:16 -

引用なし
パスワード
   いつもお世話になります。
素朴な疑問ですが何方か教えて下さい。
変数の型を宣言しないとメモリーは解放されないのでしょうか?
私の会社の共用パソコンの動作が非常に遅くなるのです。
立ち上げたすぐは問題ないのですが
マクロの処理を何回か繰り返すと遅くなるような気がします。
私の作ったマクロは全て変数宣言していますし
オブジェクト変数をつかってsetした場合はナッシングで開放するようにしています。
他の人の作ったマクロは変数の宣言をしていません。
これは原因あるのでしょうか?

宜しくお願いします。

【69347】Re:変数の宣言について
発言  neptune  - 11/6/28(火) 21:33 -

引用なし
パスワード
   ▼gin さん:
多分ですが、変数の宣言は関係ないと思います。
パッと思いつく所をちょっと書いておきます。

・コピー、ペーストを繰り返すと良くないみたいです。
・基本的に変数は有効期間を過ぎると解放されるはずです
 が、そうでないものもありますから、オブジェクト変数は必ずnothingする
 癖をつけるべきです。
 (しないと、メモリを食ってしまったり、インスタンスが残ることがある。)
    例↓
・dim a as new class1
 と宣言するより
 dim a as class1
 set a = new class1
 のように明示的にインスタンスを作ることをお勧めします。
 dim a as new class1
 set a=nothing
 としても、インスタンスが出来てしまう。
 
・宣言しないとvariant型になる事もあvariant型は遅いです。特に非力な
 昔のマシンではそう感じる事もある。

【69350】Re:変数の宣言について
発言  gin  - 11/6/29(水) 6:49 -

引用なし
パスワード
   neptune さん有難う御座います。
確かにコピー・ペーストは何回か使っています。
オブジェクト変数はなるべくnothingようにしています。
では、もう一度マクロを見直してみます。

2216 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free