MailItem.Write 事件 (Outlook)

保存父对象的实例时发生;可以是显式保存(例如,使用 SaveSaveAs 方法),也可以是隐式保存(例如,关闭项目的检查器时为了响应提示而进行的保存)。

语法

expressionWrite( _Cancel_ )

expression:一个表示 MailItem 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Boolean (不使用在 VBScript 中)。 的事件发生时。 如果事件过程将此参数设置为 True ,则保存操作没有完成。

备注

在 Microsoft Visual Basic 脚本版本 (VBScript),如果您将此函数的返回值设置为 False ,保存操作未完成。

示例

此 Visual Basic for Applications (VBA) 示例使用了 Write 事件和警告即将保存的产品用户和将覆盖任何现有的项,具体取决于用户的响应,或者允许以继续操作或停止它。 如果取消此事件,则Microsoft Outlook将显示一条错误消息。 因此,您需要捕获代码中的此事件。 若要执行此操作的一种方法如下所示。 示例代码必须放在 类模块(如 ThisOutlookSession)中,并且 Initialize_Handler() 必须先调用子例程,然后 Outlook 才能调用事件过程。

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Private Sub myItem_Write(Cancel As Boolean) 
 
 Dim myResult As Integer 
 
 myItem = "The item is about to be saved. Do you wish to overwrite the existing item?" 
 
 myResult = MsgBox(myItem, vbYesNo, "Save") 
 
 If myResult = vbNo Then 
 
 Cancel = True 
 
 End If 
 
End Sub 
 
 
 
Public Sub Initialize_Handler() 
 
 Const strCancelEvent = "Application-defined or object-defined error" 
 
 
 
 On Error GoTo ErrHandler 
 
 
 
 Set myItem = Application.ActiveInspector.CurrentItem 
 
 myItem.Save 
 
 Exit Sub 
 
 
 
 ErrHandler: 
 
 MsgBox Err.Description 
 
 If Err.Description = strCancelEvent Then 
 
 MsgBox "The event was cancelled." 
 
 End If 
 
End Sub

另请参阅

MailItem 对象

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。