Compartilhar via


Evento MailItem.Open (Outlook)

Ocorre quando uma instância do objeto pai está sendo aberta em um objeto Inspector.

Sintaxe

expressão. Abrir (Cancelar)

expressão Uma variável que representa um objeto MailItem.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Boolean (Não utilizado no VBScript). False quando o evento ocorre. Se o procedimento de evento define este argumento como True, a operação de abertura não será concluída e o Inspetor não será exibido.

Comentários

Quando esse evento ocorrer, o objeto Inspector é inicializado, mas ainda não é exibido. O evento Open difere do evento do leituraRead ocorre sempre que o usuário seleciona o item em um modo de exibição que suporta a edição na célula, bem como quando o item está sendo aberto em um Inspetor.

No Microsoft Visual Basic Scripting Edition (VBScript), se você definir o valor de retorno dessa função como False, a operação de abertura não será concluída e o Inspetor não será exibido.

Exemplo

Este exemplo Visual Basic for Applications (VBA) usa o evento Open para exibir a página "All Fields" toda vez que o item é aberto.

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

Este exemplo Visual Basic for Applications usa a propriedade Unread para detectar se o item foi lido anteriormente. Se ele tiver sido definido, ele pergunta se o usuário deseja para abri-lo. Se o usuário responder não, o valor de retorno é definido como False para impedir que o item seja aberto.

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

Confira também

Objeto MailItem

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.