共用方式為


Outlook) (MailItem.Open 事件

在 Inspector 中開啟父物件的實 時發生。

語法

運算式 啟 (取消)

表達 代表 MailItem 物件的 變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 布林值 (VBScript 中未使用)。 False 事件發生時。 如果事件程序將此引數設定為 True,則無法完成開啟作業,而且無法顯示新項目。

註解

發生這個事件時,會初始化 Inspector 物件,但還不會顯示這個物件。 Open 事件與 Read 事件不同之處在於,每當使用者在支援欄位內編輯的檢視下選取項目以及在檢閱程式中開啟項目時,就會發生 Read

在 Microsoft Visual Basic Scripting Edition (VBScript) 中,如果您將這個函數的傳回值設為 False,就不會完成開啟作業,也不會顯示檢閱程式。

範例

這個 Visual Basic for Applications (VBA) 範例會使用 Open 事件,在每次開啟專案時顯示 [所有欄位] 頁面。

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 myItem.GetInspector.SetCurrentFormPage "All Fields" 
 
End Sub

這個 Visual Basic for Applications 範例會使用 Unread 屬性來偵測專案先前是否已讀取。 如果已經讀取過,它就會詢問使用者是否想要開啟項目。 如果使用者回答 [否],傳回值就會設定為 False,表示不開啟項目。

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 Dim mymsg As String 
 
 If myItem.UnRead = False Then 
 
 mymsg = "You have already read this message. Do you want to open this message again?" 
 
 If MsgBox(mymsg, 4) = 6 Then 
 
 Cancel = False 
 
 Else 
 
 Cancel = True 
 
 End If 
 
 End If 
 
End Sub

另請參閱

MailItem 物件

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應