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
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.