■50706 / inTopicNo.2) |
Re[1]: Excel(SaveAs)がフ゜ロセスに残る |
□投稿者/ 魔界の仮面弁士 (1665回)-(2010/06/15(Tue) 19:14:26)
|
2010/06/15(Tue) 19:18:12 編集(投稿者)
# 返信時にはタイトルを修正できないため、編集で対応。(半角カナ→全角)
■No50704 (VBねっと さん) に返信 半角カナの利用は禁止されています。掲示板の利用方法を再読願います。 http://bbs.wankuma.com/index.cgi?mode=man
> Private Function testExcel() As String この実装だと、エラーが起きようと起きまいと、戻り値は常に "OK" しか 返さない事になりますが、それで良いのでしょうか?
> どなたか解決方法がわかりませんか? そもそも、Open 時の同名ファイルに SaveAs しているのが不自然に見えます。 ファイルの上書き保存なら、Save を使うべきかと思いますよ。
それにこのコードだと、保存に失敗したとき(C:\test.xls が読み込み専用であるなど)には xlbook.Close() や Marshal.ReleaseComObject(xlbook) が実行されない事になりますね。
それらを修正しても駄目なようであれば――
・それぞれの ReleaseComObject の戻り値が、0 である事を確認する。 ・SaveAs(Save)の処理を CallByName 経由の呼び出しに変更してみる。 「CallByName(xlbook, "SaveAs", CallType.Method, "C:\test.xls")」 ・複数のバージョン(2002 と 2003 など)を同一の環境にインストールしていない事を確認する。 ・Excel ライブラリを使うために、どのファイルを参照設定に加えているかを再確認。 ・新規に空の xls ファイルを作って試した場合にも、同じ結果になるかどうかを確認。 ・C:\test.xls または PERSONAL.XLS などで、何らかのマクロが実行されてはいないかを確認。
|
|