Поделиться через


Событие 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

См. также

Объект MailItem

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.