MailItem.Open 事件 (Outlook)

Inspector 中打开父对象的实例时发生。

语法

表达式打开 (取消)

expression 表示 MailItem 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Boolean (不使用在 VBScript 中)。 的事件发生时。 如果事件过程将此参数设置为 True ,则不完成打开操作并且不显示检查器。

备注

此事件发生时,该 检查器 对象已初始化,但尚未显示。 Open 事件 Read 事件的不同之处在于 发生,每当用户在支持单元格内编辑或者在检查器中打开该项目时的视图中选择该项目。

在 Microsoft Visual Basic 脚本版本 (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 使用 未读 属性来检测是否以前读取项目。 如果它有,它询问用户是否要将其打开。 如果用户回答否,则返回值设置为 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。