Evento MailItem.Open (Outlook)
Se produce cuando una instancia del objeto primario se abre en un Inspector.
Sintaxis
expresión. Abrir (Cancelar)
expresión Variable que representa un objeto MailItem.
Parámetros
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 apertura no se completa y el inspector no se muestra. |
Comentarios
Cuando se produce este evento, el objeto Inspector se inicializa sin aún no se muestra. El evento Open se diferencia del evento Read en que Read ocurre siempre que el usuario selecciona el elemento en una vista que admite la modificación de las celdas y cuando el elemento se abre en un inspector.
En Microsoft Visual Basic Scripting Edition (VBScript), si establece el valor devuelto por esta función en False, la operación de apertura no se completa y el inspector no se muestra.
Ejemplo:
En este ejemplo de Visual Basic para aplicaciones (VBA) se utiliza el evento Open para mostrar la página "All Fields" cada vez que se abre el elemento.
Public WithEvents myItem As Outlook.MailItem
Sub Initialize_handler()
Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
myItem.Display
End Sub
Private Sub myItem_Open(Cancel As Boolean)
myItem.GetInspector.SetCurrentFormPage "All Fields"
End Sub
En este ejemplo Visual Basic para aplicaciones, se utiliza la propiedad Unread para detectar si ya se ha leído el elemento. En caso afirmativo, se pregunta al usuario si desea abrirlo. Si el usuario responde No, el valor devuelto se establece en False para evitar que se abra el elemento.
Public WithEvents myItem As Outlook.MailItem
Sub Initialize_handler()
Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
myItem.Display
End Sub
Private Sub myItem_Open(Cancel As Boolean)
Dim mymsg As String
If myItem.UnRead = False Then
mymsg = "You have already read this message. Do you want to open this message again?"
If MsgBox(mymsg, 4) = 6 Then
Cancel = False
Else
Cancel = True
End If
End If
End Sub
Consulte también
Soporte técnico y comentarios
¿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.