Событие MailItem.Write (Outlook)
Происходит при сохранении экземпляра родительского объекта явным образом (например, с помощью методов Save или SaveAs ) или неявно (например, в ответ на запрос при закрытии инспектора элемента).
Синтаксис
выражение. Write
( _Cancel_
)
Выражение Переменная, представляющая объект MailItem .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Отмена | Обязательный | Boolean | (Не используется в VBScript). Значение false при возникновении события. Если процедура события задает этому аргументу значение True, операция сохранения не завершена. |
Замечания
Если в Microsoft Visual Basic Scripting Edition (VBScript) для возвращаемого значения этой функции задано значение False, операция сохранения не будет завершена.
Пример
В этом примере Visual Basic для приложений (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 и обратная связь.