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
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。