Evento MailItem.Write (Outlook)
Se produce cuando se guarda una instancia del objeto primario, ya sea explícitamente (por ejemplo, mediante los métodos Save o SaveAs ) o implícitamente (por ejemplo, en respuesta a una pregunta cuando se cierra el inspector del elemento).
expresión. Write
( _Cancel_
)
expresión Variable que representa un objeto MailItem.
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Cancel | Obligatorio | Boolean | (No se utiliza en VBScript). False cuando se produce el evento. Si el procedimiento de evento establece este argumento en True, la operación de guardar no se completa la operación. |
En Microsoft Visual Basic Scripting Edition (VBScript), si establece el valor devuelto por esta función en False, la operación de guardar no se completa la operación.
En este ejemplo de Visual Basic para aplicaciones (VBA) se utiliza el evento Write y advierte al usuario que el elemento se va a guardar y sobrescribirá cualquier elemento ya existente y, según la respuesta del usuario, ya sea la operación continuar o se detiene. Si se cancela este evento, Microsoft Outlook muestra un mensaje de error. Por lo tanto, debe capturar este evento en el código. A continuación se muestra una forma de hacerlo. El código de ejemplo debe colocarse en un módulo de clase como ThisOutlookSession
, y se debe llamar a la Initialize_Handler()
subrutina antes de que Outlook pueda llamar al procedimiento de evento.
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
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.