- 題名: Word操作
- 日時: 2005/11/27 14:48:57
- ID: 13905
- この記事の返信元:
- (なし)
- この記事への返信:
- [13906] Re[1]: Word操作2005/11/27 18:05:10
- [13910] Re[1]: Word操作2005/11/28 1:08:53
- ツリーを表示
■No13905に返信(kiyoさんの記事) > 問題を解決するために情報を探した結果、 > 「COM オブジェクトを解放する」 > というキーワードにあたりました。 これはちょっと誤解を招くかもしれませんね。 http://jeanne.wankuma.com/tips/programing/02-releasecom.html > ただ、実現したい機能としては、 > WindowsフォームからHelpファイル(Word)を開くだけで、 > 後は、Wordで終了とかをすべて任せてしまいたい。 > ということで、Comの開放をどこでやればいいのか? 中さんが仰るように、Process.Start の方が安全でしょうね。 COM でやるにしても Close と Quit はしないで解放すれば良いでしょう。 あくまで参照カウントですから。
分類:[.NET]
【解決したい問題】
Windowsフォーム上のステータスバーダブルクリックのイベントでWord(OfficeXP)で作成されたHELPファイルを開くということを実現したいのですが、以下のように記述した結果、Wordファイルを「×」マークで閉じても、タスクマネージャのプロセスにWINWORD.EXEが残っています。
' Microsoft Word xx.x Object Libraryを参照設定
Private Sub StatusBar1_DobleClick(.....
Dim objWord As New Word.Application
Dim objDoc As Word.Application.Documents
Dim strHelpFilePass As String
strHelpFilePass = "D:\Help.doc"
objDoc = objWord.Documents
objDoc.Open(strHelpFilePass)
objWord.Visible = True
end Sub
【解決するために何をしたか】
問題を解決するために情報を探した結果、
「COM オブジェクトを解放する」
というキーワードにあたりました。
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDoc)
System.Runtime.InteropServices.Marshal.ReleaseComObject(objWord)
をどこかで行わないといけないのではということがわかりました。
ただ、実現したい機能としては、
WindowsフォームからHelpファイル(Word)を開くだけで、
後は、Wordで終了とかをすべて任せてしまいたい。
ということで、Comの開放をどこでやればいいのか?
わからなくなっています。
【追加事項】
ご存知のかたアドバイスよろしくお願いします。