MailItem.Write 事件 (Outlook)
保存父对象的实例时发生;可以是显式保存(例如,使用 Save 或 SaveAs 方法),也可以是隐式保存(例如,关闭项目的检查器时为了响应提示而进行的保存)。
语法
expression。 Write
( _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
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。