こんにちは
ExcelVBAで作ったロジックは、Excel上では1秒もかからないのですが、
それをほとんど手を加えないで、VB6上でそのロジックを走らせると、
16秒近くもかかります。そんなものなのでしょうか?
コードの書き方次第では、
そうゆう処理も作成可能ですが一般的ではないです、
どの部分に時間がかかるのかを分析するのが、
プログラマのとして一番面白いところでは?
15秒差…Excel アプリケーションの起動時間がそのくらいの
気もしますが、考慮に入れてますか?
Excelをマクロで操作する場合とVB6で操作する場合の時間の違いでしょうか?という質問でしょうか?
VB6はCOMを通して、関数を実行させるため、マクロと比べて、スピードを
どうしても、遅くなります。
どのようなソースを組んだか分かりませんが、組み方次第ではスピードを早くすることも出来ます。
VB6の外部操作が遅くなる原因はExcelの関数を外部からCOMを通すことが原因です。
つまり、VB6自身の関数は速いということになります。
まとめると、Excelの関数の呼び出しを出来るだけ削減させればいいわけです。
それと、Excelを連続起動させる処理ならば、
プロセスをメモリー上に残すだけで、ソフトの立ち上げスピードが違ってきます。
たまに、
メモリーに残ってしまう不具合として、どうやって対処したらいいのかという質問がありますが、
この不具合を逆手にとってプロセスをメモリー上にわざと残してしまうという手もありです。
で、Formの終了イベントで破棄すればGood(ー▽ー)b
ちなみにどんな副作用がでるかを十分、理解した上で・・・・・・・・
ツイート | ![]() |