■33168 / ) |
Re[2]: 2005 C# からのExcel操作 |
□投稿者/ 魔界の仮面弁士 (1012回)-(2009/02/22(Sun) 11:40:58)
|
2009/02/22(Sun) 12:12:26 編集(投稿者)
■No33163 (中 博俊 さん) に返信 > var template = Excel.XlWBATemplate; > var worksheet = template. xlWBATWorksheet > と2文に分けて、それぞれ開放してあげましょう。
そもそもコンパイルすら通らなくなってしまうような気がするのですが、 そちらの環境では、本当にそれで動作しているのでしょうか?
(Excel の場合、基本的には「Xl で始まるものは列挙型」「xl で始まる物は列挙値」のハズ)
■No33156 (YA さん) に返信 > 【ソース】 [図表モード]で投稿していただけると助かります。 なお当方 Excel 2007 環境では、プロセスが終了しないという現象を再現できませんでした。
> ・Excel2000、Excel2003 の両方インストール Excel のタイプライブラリは共存できず、複数インストール時は、 どちらか(通常は上位バージョン)で上書きされてしまうと思います。
また、2003 の PIA は存在しますが、2000 の PIA は用意されていなかったかと思います。 使用している相互運用機能アセンブリが、2000/2003、いずれのバージョン向けの物か 確認しておいた方が良いかと思います。
ただし、当方で 2000 と 2003 のタイプライブラリを比較してみた限りでは、 Workbooks.Add や Workbook.Close のメソッド定義(引数定義、戻り値、DispId)には 差異が見当たらなかったので、コードそのものの問題では無いような気もします。
> 何故、保存処理(※2)を加えただけでExcelプロセスが残るのでしょうか。 検証のために、ReleaseComObject の戻り値を調べてみてください。 それが 0 以外の値になるようであれば、内部的に参照カウントが変化している 可能性があります。
たとえば当方では、特定の条件下において、object 型からの型変換/型チェック時の際に、 Excel が参照カウントを勝手に増加させてしまう状況を目にしていますし、また、 Excel のアドインやマグロの不具合によって、そうした状況を引き起こした事もあります。
# 「という状況に 出/会/っ/た」と書いたら、キーワードチェックによって # 投稿が拒否されてしまい、折角書いた内容が失われてしまいました…。(泣) ## エラー時にも投稿内容を維持して、編集画面に戻すようにして欲しいです。>管理者チーム
|
|