投稿日 | : 2003/08/04(Mon) 20:04 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re^3: VB-EXCEL 処理速度 |
ユーザーから操作されたくない、という事であれば、Excel.Applicationオブジェクトの
Interactive プロパティを使って、ユーザーからの操作を禁止するという手もあります。
> 共通関数にはRangeをSelectしたり、そのSelectionに対して、
> 配置・罫線・文字種・文字位置・結合などを行う処理がそれぞれ作成されています。
「RangeオブジェクトをSelectしてから、Selectionを操作する」のではなく、できるだけ
直接「Rangeオブジェクトを操作する」ようなコーディングにする事をお奨めします。
SelectやActive系の処理は、Excel内部でフォーカスの移動を伴いますので、
その分、処理速度は低下しますし、必要なコード量も増加してしまいます。
> 素人ながら、画面に出てくることによってCPUやメモリが優先的に使用されるとか、
> そのようなことを考えたりしています。どうでしょう?
ActiveX DLLやActiveXコントロールといった「インプロセス」なオブジェクトなら、
非表示にしておいた方が、(一般的には)高速に処理されます。
しかし、Excelはアウトプロセスで処理されるものですので、
Excel自体が表示されていて、かつ、アクティブ状態になっていた方が、
高速に処理される結果となります。
# ただし、処理内容やOSの種類、あるいは設定状態などによっては、
# あまり速度差が無い事もありますけれどね。