Excel VBA質問箱 IV

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

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


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

【70161】画像を貼り付けていくと遅くなっていく 牛羊 11/10/18(火) 9:24 質問[未読]
【70162】Re:画像を貼り付けていくと遅くなっていく とおりすぎ 11/10/18(火) 9:53 回答[未読]
【70216】Re:画像を貼り付けていくと遅くなっていく 牛羊 11/10/19(水) 20:23 お礼[未読]

【70161】画像を貼り付けていくと遅くなっていく
質問  牛羊  - 11/10/18(火) 9:24 -

引用なし
パスワード
   Excel2007を使用しています。
1:ActiveXオブジェクトでバーコードの生成
2:バーコードをコピー
3:図(拡張メタファイル)として貼付け
4:ActiveXオブジェクトの削除
上記を繰り返すツールを作成しています。
700回ほど繰り返すのですが、
当初、10個/秒ぐらいの速度が、
後半、2秒/個ぐらいに速度が落ちてしまいます。
700個のバーコードを貼り付け終わったシートに対して再度処理を実行すると、
初回から遅い速度でスタートします。
シート上に大量の画像があると処理速度は遅くなってしまうものなのでしょうか。
下記コードは宣言しています。
  Application.Calculation = xlCalculationManual
  Application.ScreenUpdating = False

どうぞよろしくお願いいたします。

【70162】Re:画像を貼り付けていくと遅くなっていく
回答  とおりすぎ  - 11/10/18(火) 9:53 -

引用なし
パスワード
   シート上のActiveXコントロールを操作すると、Tempフォルダにゴミが
たまりやすい。

メタファイル形式のゴミは、ハンドル放してくれないので、よりたまりやすい。

とりあえず、アプリを終了して、Tempフォルダの掃除を行う。
ActiveXをUserFormなどで使用。
いちいち消さずに、使いまわす。

【70216】Re:画像を貼り付けていくと遅くなっていく
お礼  牛羊  - 11/10/19(水) 20:23 -

引用なし
パスワード
   ▼とおりすぎ さん:
>シート上のActiveXコントロールを操作すると、Tempフォルダにゴミが
>たまりやすい。
>
>メタファイル形式のゴミは、ハンドル放してくれないので、よりたまりやすい。
>
>とりあえず、アプリを終了して、Tempフォルダの掃除を行う。
>ActiveXをUserFormなどで使用。
>いちいち消さずに、使いまわす。

とりあえず、
別シートで画像を生成しセルごとコピーする、
という方法で3倍ほど早くなりました。
お付き合いありがとうございました。

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