[[20090309222324]] 『カメラ機能』(あつし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『カメラ機能』(あつし)
 こんばんは。会社の業務でよくカメラ機能を使いますが、
 マクロを使用する際、カメラで貼り付けたものがあると
 異様にマクロの実行速度が遅いことが判明しました。
 そのカメラではった絵を消すと早くなります。
 どういう理由でしょうか? 対処法などありますか? 
 ご存知の方がいたら教えてください。
 OS:2000、エクセル:2003です。

 どんなマクロでも一様に遅くなりますか?
 (MARBIN)

 返事ありがとうございます。 
 どうですかねー 私の中ではすべてだと思ってましたが 
 明日再度確認してみます。
 ネット上にはそのような情報がないので私だけなんですかね? 
 また明日報告いたします。
 (あつし)

 今日確認しましたがやはりどのようなマクロでも遅くなる気がします。
 ただエクセルが開いていない状態で新規でファイルを開いて
 マクロ1として
 for i=1 to 200
 cells(i,1)="test" & i
 next
 見たいな事をしたのですが、カメラで貼り付けても遅くなりませんでしたが、
 他のファイルを開いて(そのファイルを開くだけ含むマクロ)実行したら
 遅くなりました。何でしょう。 どうして遅くなるのでしょうか? 
 会社の別のPCで実行してもやはり遅くなりましたので、私のPCが原因ではなさそうです。
 また明日にでもどういったファイルがあると遅くなるか確認してみます。
 (あつし)

 試してみましたが、
 >見たいな事をしたのですが、カメラで貼り付けても遅くなりませんでしたが、
 私は、遅くなると思いましたが。。。。

 カメラの貼り付けがある場合
 セルへの書き出しをすると時間がかかる様です。
 既に書き出しが最小限に抑えられているのなら
 改善の余地はないかもしれませんが。。。

 一つずつ書き出しているのなら
 配列に入れて、一回で書き出すようにすると
 時間の短縮につながるかもしれません。

 ↓こんな感じで
ReDim x(1 To 200, 1 To 1)
    For i = 1 To 200
        x(i, 1) = "test" & i
    Next
    Range("A1:A200") = x

 (HANA)

 遅くなりましたか。会社のPCでは遅くなりませんでした。
 上のコードは例を示すために仮に作成したものです。
 問題は上に記載したコードに限らず遅くなってしまうことで、
 カメラで貼り付けたものがあっても遅くならない方法はないのでしょうか?
 会社でたくさんのマクロを使用しています。
 簡単にマクロを加工する方法はないのですか?
 (あつし)


 たぶん
 「計算式満載で動きが遅いシートを、
  計算式そのままで遅くならない方法はないか?」
 と同じご要望になるのではないかと思います。
 その様なシートだと
  1.計算式を取っ払う
  2.計算式が簡素化出来ないか検討する
 が、思いつきやすい対策。

 あつしさんの現在の状況も
  1.カメラ機能を使わない
  2.マクロの記述を検討する
 が、取れそうな対策だと思います。

 私の印象では データ取得のためのセルへのアクセスは
 特に問題なく動き、データ出力のためのセルへのアクセスは
 時間がかかるように思いました。

 あつしさんが「出力以外でも時間がかかる」と思われるのなら
  出力以外の何をやった時に時間がかかるのか 突き止め
  その処理を別の方法でやれないのか 検討する
 これは、実際にコードを持っていて それを動かせる
 あつしさんにしかできないと思います。 

 >会社でたくさんのマクロを使用しています。
 それぞれが、別々のマクロですよね。
 でしたら簡単にマクロを加工する方法は
 無いと思います。

 同じマクロだとしても、配布は大変な問題ですから。

 (HANA)

 了解です。 
 ありがとうございます。 
 私なりに、高速化は実行しているつもりですのでおそらく無理かと思います。
 私の中ではマイクロソフトのバグだと思ってますが。
 とりあえず マクロを加工するか、カメラ機能を使用しないかですね。
 カメラ機能で作成した図をリンクを削除するなどの方法をググって見ます。
 (アツシ)

 解決済みかもしれませんが、経験上のことを書かせていただきます。
 
カメラ機能(リンク図)はCPUに負担をかける方法ではないかと推測しています。
以前、リンク図の実験をしたことがあります。
Win98/Excel2000のころだったと記憶しますが、
「メモリ不足のため全ての画像を表示できません」
というメッセージが表示されたりしていました。
そのときは再計算にもかなり時間がかかった記憶があります。
 
これは推測ですが、カメラ機能を使うとマクロが遅くなるというよりも、
カメラ機能を使うと、マクロで処理を行うためのメモリ余裕が不足するのではない
でしょうか。
バグというよりも、副作用みたいなものだと考えています。
解熱剤飲むと熱は下がるけど胃が荒れるみたいな。
 
マクロが使用可能な環境なら、イベントマクロで
「データが更新されたら、リンクしたい範囲を指定範囲へ貼り付ける」とか
「画像を差し替える」というようなマクロ処理でも代替できるかもしれません。
(みやほりん)(-_∂)b

 HANAさんみやほりんサンありがとうございます。
 そういえば数年前にカメラ機能で大量のセルを読み取ると、
 全部が読み取れないみたいなことがありました。
 そして何かの設定をいじった記憶があります。
 言われてみますと、バグではなくメモリ?関係が影響しているかもしれませんね。

 今のところ解決策はまったく思いついてませんが、カメラで貼り付けたものを
 何とかして違うものに置き換え、マクロ終了時にまたカメラ機能で同じ場所に
 張り付くようなものが出来ればいいのですが。
 何かいい方法があればご教示ください。
 ちなみにカメラ機能を用いて貼り付けているものと、マクロはまったく別の
 用途で使用しており、異なるシートで用いております。
 シートだけでなく、BOOKも異なるものし、カメラ機能で貼り付けたBOOKを
 閉じてしまえば問題はないのですが・・・ 
 では良い週末を^^
 (あつし)

 横から失礼致します。
[[20090306133407]]
 ↑こちらでマクロの実行が遅くなったと質問したものですが、
 実は該当のシートもカメラ機能を使っていまして、こちらの質問を見つけたときにカメラ機能を外してみました。
 すると、いきなり処理が早くなったのでびっくりしております。
 カメラで指定している範囲は3*3セルで、データ量は
 太枠罫線 点線罫線 オートシェイプ○3つ 作成 承認 許可 名前名前名前 セルの結合2セル*3
 となっています。

 2007になって、メモリ消費が大きくなり、2003以前までは問題なくこなせていたものが突然できなくなったのかなと思いますが…。
 思わぬところで助かりました。
 ありがとうございました。
 (みかん)


 それは良かったです。(あつし)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.