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

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

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

Excelファイルをを閉じると同時にコード上でも閉じる方法


(過去ログ 2 を表示中)

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

■1503 / inTopicNo.1)  Excelファイルをを閉じると同時にコード上でも閉じる方法
  
□投稿者/ ろーむ 二等兵(1回)-(2005/10/03(Mon) 20:12:07)

分類:[VB.NET] 


分類:[VB.NET] 

VB.NET Excel2003 です。

じゃんぬねっとにあるサンプル「既存の Excel ブックを開く」には、以下のコードが書かれています

' Excel.Application の新しいインスタンスを生成する
Dim xlApp As New Excel.Application()
Dim xlBooks As Excel.Workbooks

' xlApp から WorkBooks を取得する
xlBooks = xlApp.Workbooks

' 既存の Excel ブックを開く
xlBooks.Open("C:\Hoge.xls")

' Excel を表示する
xlApp.Visible = True

' 1000 ミリ秒 (1秒) 待機する
System.Threading.Thread.Sleep(1000)

' Excel を終了する
xlApp.Quit()

' COM オブジェクトを解放する (正しい解放は COM オブジェクトの解放 を参照)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)

これだとファイルが1秒開かれているだけですが、
ユーザの任意のタイミングでExcelファイルを閉じた時にコード上でxlapp.Quit()が実行されるようにしたいのです。

ヘルプには「Excel を自動化し、ユーザーによる Excel の終了を検出する」という記事があったのですが、Excel2003は対応していないようで・・・

どうか、アドバイスをお願いします

0
引用返信 編集キー/
■1505 / inTopicNo.2)  Re[1]: Excelファイルをを閉じると同時にコード上でも閉じる方法
□投稿者/ シャノン 二等兵(2回)-(2005/10/03(Mon) 23:31:29)

分類:[VB.NET] 

これ
http://support.microsoft.com/default.aspx?scid=kb;ja;JP192348
ですか?

これはただ、資料が書かれた時期が古いため、その時点ではまだ Office 2003 が出ていなかっただけだと思われます。
サンプルは C++ ですが、ここに書かれていることを理解して、C# に翻訳できるのであれば、方法自体は汎用的なものなので、2003 で使えないってことはないと思われます。
あるいは、ひょっとしたら、2003 では何か、終了を検知するもっといい方法が提供されているのでしょうかね?

0
引用返信 編集キー/
■1507 / inTopicNo.3)  Re[2]: Excelファイルをを閉じると同時にコード上でも閉じる方法
□投稿者/ 中博俊 神(219回)-(2005/10/04(Tue) 09:11:58)
中博俊 さんの Web サイト

分類:[VB.NET] 

VSTOであれば閉じるイベントは捕らえられると思います。
というか、プログラムからオートメーションで開く場合にはできるだけ自前で制御できる範囲に絞ってあげるほうがいいと思います。
たとえば、Terminatedイベントか何かがあったと思いますので、そこでフラグたてを行うとかね。

詳細はやったことないのでなんとも(^^

0
引用返信 編集キー/
■1522 / inTopicNo.4)  Re[3]: Excelファイルをを閉じると同時にコード上でも閉じる方法
□投稿者/ ろーむ 二等兵(3回)-(2005/10/05(Wed) 21:12:25)

分類:[VB.NET] 

返信ありがとうございます。

他の方法で解決することができました。
既存のExcelファイルを開くというのが目的なので、

Diagnostics.Process.Start()

でコムオブジェクトを使わないですみました・・・。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -