タイトル : Re^2: EXCELのプロセスの解放について 投稿日 : 2011/07/27(Wed) 11:25 投稿者 : たぁ
ご指摘ありがとうございます。いつもいろいろ参考にさせてもらっています。 結果から言うと、上手く解放されません。 プロセスを指定して削除するプログラムでも作った方がいいのでしょうか? > VB6 からの呼び出しコードとしては、特に問題が無いように見えます。 > 少なくとも当方環境では、正常に解放されました。 →ここまで削れば正常に解放されるのですが・・・。 Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True xlApp.Quit Set xlApp = Nothing > ・Excel をタスクから強制終了した事がある場合は、一度 OS を再起動してから > 再度検証してみてください。不安定な状態での検証は誤作動の元です。 > →2度ほど再起動と実行を繰り返してみましたが、現象は同じでした。 VBのファイルも新規プロジェクトで作りなおしたりして試してみましたが、ダメでした。 > ・Excel からのユーザー応答メッセージなどを取りこぼさないようにするために、 > 少なくともデバッグ段階では、Visible = True にしておくことをお奨めします。 →変更してみましたが、特にメッセージなどは出ていませんでした。 xlApp.Quitをコメント化して、手動でEXCELを閉じた場合は、当然ながら解放されました。 > ・複数の Excel バージョンが共存していませんか? > 複数バージョンが混在すると、正しく呼び出せないことがあります。 →開発を行っているPCが人から引き継いだものなので、実際のところは分かりませんが、 Program Filesの中にOffice11とOffice12のフォルダがあります。Office12の中は10個 程度のファイルのみで動作しそうにないですが、OFFICE2007のインストールの形跡が 見受けられます。 > ・開発環境と実行環境で、Excel バージョンは同一ですか? > Excel のライブラリ互換性は完全ではないため、呼び出す機能によっては > バージョン判定およびバージョン依存の分岐処理が必要になることがあります。 →まだ実行環境が手元にありませんが、実行環境ではEXCEL2010になりそうなので、 そちらでは別途検証が必要かと思っています。 > ・開いている A.xls 自体に問題はありませんか? 新規のブックで再検証して > みてください。 > 文書ファイル内のマクロに問題があって、それらが無駄な参照カウントを増加 > させる場合や、xls 内部の軽微なファイル破損が問題を引き起こしていたという > 状況を経験しています。 →その可能性も考え、新規で作成したのもを使用しています。 A1セルに「1」を入力したのみのファイルです。 > ・Excel アドインやスタートアップマクロなどがある場合は、それらを外してみて > ください。 > 文書ファイル感染型のマクロウィルスが問題となったケースもあるようです。 →特に該当しませんでした。 |