投稿日 | : 2007/07/30(Mon) 11:35 |
投稿者 | : よねKEN |
Eメール | : |
URL | : |
タイトル | : Re^5: エクセルがタスクマネージャに残ってしまいます。 |
No.9803でのYKさんへのレスで、
> したがいまして「この値が5で終わったらエクセルは終了しないですよね。」の
> 以前の問題かと判断しています。
> ちなみにSheetNumが5以下でForを抜けた場合は抜けた後に終了処理を記述していますので
> Openしっ放しと言うことはないですよ〜(^^)
とコメントされていますが、ご自身だけで判断せずに、
第三者にも判断できるようその判断材料となる実際のソースをご提示ください。
また、問題を絞り込む際の実験の仕方についてですが、
>【終了確認パーン1】
>Public Sub SheetCheck() '【終了処理をFor処理の前置きの場合】・・・正常終了
>'ファイルオープンして別のプロシージャーに入ったらすぐ終了して試してみる。
> xlApp.Quit
> Set xlSheet = Nothing
> Set xlBook = Nothing
> Set xlApp = Nothing '←実行した時点で正常にEXCEL.EXE終了
> For Each ObjSheet In xlBook.Worksheets
> '処理
> Next
>End Sub
>【終了確認パーン2】
>Public Sub SheetCheck() '【終了処理をFor処理の後置きの場合】・・・NG
>'ファイルオープンして別のプロシージャーのFor文に入ったらすぐ終了して試してみまる
> For Each ObjSheet In xlBook.Worksheets
> xlApp.Quit
> Set xlSheet = Nothing
> Set xlBook = Nothing
> Set xlApp = Nothing・・・この処理を実行してもプロセスにEXCEL.EXEが残ります
> '処理
> Next
>End Sub
以上のコードはどちらもxlApp.Quitした後にも他のオブジェトを操作している節があり、
実験コードとして非常に怪しいので、この動作結果を参考にするのは危険だと思います。
(まずい実験方法に基づいた結果を元に原因を探ると余計に迷子になる恐れもあります)
--
No.9809の魔界の仮面弁士さんのレスにある以下のことをまず実行してください。
>もちろん、コードが多いならば、最低限の長さまで縮めることは確かに必要なのですが、
>肝心な部分が端折られた、部分的な投稿にはならないようにして欲しいのです。