1
我一直在嘗試創建一個程序來處理使用VB.net在Microsoft Word中觸發的事件。我的最終目標是使用此程序來響應用戶關閉的Word,但是當我嘗試使用DocumentBeforeClose
或DocumentBeforeSave
時,它們似乎沒有觸發,但我有一個事件來處理NewDocument
,並且它的工作方式應該如此。VB Word管理
這裏是我的代碼:
Imports Microsoft.Office.Interop
Public Class Form1
Private WithEvents oWord As Word.ApplicationClass
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Create a new instance of Word, make it visible, and activate it.
oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Activate()
'Create a new document.
oWord.Documents.Add()
'Release the instance of Word and leave it running.
oWord = Nothing
End Sub
Private Sub oWord_ApplicationEvents2_Event_DocumentBeforeClose(Doc As Word.Document, ByRef Cancel As Boolean) Handles oWord.ApplicationEvents2_Event_DocumentBeforeClose
System.Windows.Forms.MessageBox.Show("The document is closing.")
End Sub
Private Sub oWord_ApplicationEvents2_Event_DocumentBeforeSave(Doc As Word.Document, ByRef SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles oWord.ApplicationEvents2_Event_DocumentBeforeSave
System.Windows.Forms.MessageBox.Show("The document is saving.")
End Sub
'Handler for the Microsoft Word NewDocument event.
'The NewDocument event is fired when a new document is created.
Private Sub oWord_ApplicationEvents2_Event_NewDocument(Doc As Word.Document) Handles oWord.ApplicationEvents2_Event_NewDocument
'Add some text to the new document.
With oWord.Selection
.TypeText("The ")
With .Font
.Bold = Word.WdConstants.wdToggle
.Italic = Word.WdConstants.wdToggle
End With
.TypeText("NewDocument ")
With .Font
.Bold = Word.WdConstants.wdToggle
.Italic = Word.WdConstants.wdToggle
End With
.TypeText("event handler inserted this text.")
End With
End Sub
End Class
我有我的微軟Office互操作性和Microsoft Word對象庫的引用。
我在.ApplicationEvents2_Event_DocumentBeforeClose上找到了文檔,聲明它不是用於代碼的事件,但提供了一種聲明和使用它的方法,因此我不確定是否使用了錯誤的語法來使用或出錯一路走到一起。