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

Objeto MailItem

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.