C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: VB.NETで使用中のエクセルファイルを開かないようにする。


(過去ログ 96 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■57595 / inTopicNo.1)  VB.NETで使用中のエクセルファイルを開かないようにする。
  
□投稿者/ hiro (8回)-(2011/03/06(Sun) 14:11:54)

分類:[VB.NET/VB2005 以降] 

こんにちは
よろしくお願いします。

使用環境はVB.NET2005、Excel2007です。
xlBooks = xlApplication.Workbooks
Try
xlbook = xlBooks.Open(File.xls)
Catch
Exit Sub
End Try
xlbook.SaveAs(File.xls)

上記のようなとき、エクセルのファイルは使用中であっても読み込み、
保存の前でエラーになってしまいます。
それは保存時にも同じように例外処理をすればよいのでしょうが、問題は
開いてしまったエクセルファイルを探して
Dim localByName As Process() = System.Diagnostics.Process.GetProcessesByName("Excel")
で取り出してから閉じるようにしましたが、中には編集待ちになって、後から「ファイルを編集できるようになりました。」というエクセルのメッセージが残ってしまうことです。そうすると再度ファイルが立ちあがることになります。

一番よいのは初めから使用中のファイルは開かないようにする。
どうしても開いてしまう場合は、プログラムを終了し、編集待ちのファイルも残さずに消すようにする。

何か良い方法がありましたらご教授お願いします。






引用返信 編集キー/
■57598 / inTopicNo.2)  Re[1]: VB.NETで使用中のエクセルファイルを開かないようにする。
□投稿者/ やじゅ (1855回)-(2011/03/06(Sun) 17:39:38)
やじゅ さんの Web サイト
No57595 (hiro さん) に返信
> 一番よいのは初めから使用中のファイルは開かないようにする。

ファイルが使用中だとファイル名を変更できないのを利用する方法がありますね。
http://wednesdaymoon.net/kzweb/articles/vbnet/article.aspx?articleid=74

引用返信 編集キー/
■57603 / inTopicNo.3)  Re[2]: VB.NETで使用中のエクセルファイルを開かないようにする。
□投稿者/ hiro (10回)-(2011/03/06(Sun) 20:19:07)
No57598 (やじゅ さん) に返信
やじゅさん、

どうもありがとうございました。
おかげさまで解決しました。
またよろしくお願いします。
引用返信 編集キー/
■57604 / inTopicNo.4)  Re[3]: VB.NETで使用中のエクセルファイルを開かないようにする。
□投稿者/ hiro (11回)-(2011/03/06(Sun) 20:20:45)
解決しました。ありがとうございます。
解決済み
引用返信 編集キー/
■57611 / inTopicNo.5)  Re[1]: VB.NETで使用中のエクセルファイルを開かないようにする。
□投稿者/ じゃんぬねっと (46回)-(2011/03/07(Mon) 02:23:29)
じゃんぬねっと さんの Web サイト
No57595 (hiro さん) に返信
> 一番よいのは初めから使用中のファイルは開かないようにする。

これだったら、わざわざ周りくどい方法を取らなくても...
Excel.Workbooks の Open メソッドには Notify 引数がありますので、これを false にすれば例外が発生するようになります。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -