Como criar automaticamente um novo compromisso quando um e-mail é sinalizado no Outlook

Compartilhe agora:

Algumas pessoas desejam criar automaticamente ou rapidamente um novo compromisso do Outlook quando sinalizam um e-mail. Este artigo apresentará uma abordagem para realizá-lo com o Outlook VBA.

Às vezes, posso receber um e-mail mencionando um compromisso ou reunião. Mas é apenas um e-mail em vez de um item de reunião comum no Outlook. Nesse caso, tenho que criar um novo compromisso no meu calendário do Outlook manualmente. Isso é um pouco problemático. Portanto, desejo que o Outlook possa criar automaticamente um novo compromisso. No entanto, o Outlook não tem suporte nativo para criarmos um novo compromisso automaticamente quando sinalizamos um e-mail. Portanto, para alcançá-lo, optei por fazer uso do Outlook VBA. Aqui estão os códigos e etapas detalhados do VBA.

Criar automaticamente um novo compromisso quando um e-mail é sinalizado

  1. Em primeiro lugar, mude para a guia “Desenvolvedor” e clique no botão “Visual Basic” no grupo “Código”.Botão do Visual Basic
  2. Em seguida, na nova janela “Microsoft Visual Basic for Applications”, você precisa clicar duas vezes em “ThisOutlookSession” para abrir este projeto.
  3. Em seguida, copie e cole os seguintes códigos VBA nele.
Public WithEvents olItems As Outlook.Items

Private Sub Application_Startup()
    Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub olItems_ItemChange(ByVal Item As Object)
    Dim oAppt As AppointmentItem
    Dim strMsg As String
    Dim nRes As Integer
 
    On Error Resume Next
 
    If TypeName(Item) = "MailItem" And Item.IsMarkedAsTask = True Then
       strMsg = "Do you want to create a new appointment"
       nRes = MsgBox(strMsg, vbYesNo + vbQuestion, "Confirm Creating Appointment")
       If nRes = vbYes Then
          Set oAppt = Application.CreateItem(olAppointmentItem)
          With oAppt
               .Subject = "New Appt: " & Item.Subject
               .Location = InputBox("Enter the Location, please.")
               'Type the concrete time, such as "12/29/2015 15:30"
               .Start = InputBox("Enter a specific time (format: MM/DD/YYYY hh:mm), please.")
               .Duration = 120
               .Body = "New Appointment: " & vbCrLf & vbCrLf & Item.Body
               .Attachments.Add Item
               .ReminderSet = True
               .ReminderMinutesBeforeStart = 30
               'Use ".Save" to directly save the new appointment
               .Display
          End With
       End If
 
      'To clear the flag on the email
      'If you want to keep email flagged, remove the following 4 lines
       With Item
            .ClearTaskFlag
            .Save
       End With
    End If
End Sub

Copie os códigos VBA para ThisOutlookSession

  1. Posteriormente, deverá utilizar o “Certificado Digital para Projetos VBA” para criar um novo certificado e assinar o projeto “ThisOutlookSession” atual.Assine digitalmente o projeto ThisOutlookSession
  2. Depois disso, você pode sair da janela “Visual Basic” e alterar as configurações de macro para permitir apenas macros assinadas digitalmente.Permitir apenas macros assinadas digitalmente
  3. Eventualmente, você pode tentar.
  • Em primeiro lugar, envie um e-mail e clique no ícone “Sinalizar”. Você receberá um prompt, como a captura de tela a seguir:Confirmar criação de compromisso
  • Depois de selecionar “Sim”, você será solicitado a especificar o local e clicar no botão “OK”.Insira a localização
  • Então você precisa especificar o horário do compromisso.Insira um horário específico
  • Por fim, após clicar em “OK”, um novo agendamento será aberto, conforme a imagem abaixo:Novo compromisso

Observações:

  1. Nesses códigos VBA, o lembrete é definido como 30 minutos por padrão. Você pode alterá-lo nos códigos à vontade.
  2. Os códigos definem a duração da consulta para 120 minutos, ou seja, 2 horas. Você pode alterar a linha “.Duration = 120” de acordo com suas necessidades.
  3. Se você não especificou um horário concreto, o novo compromisso será definido para a data e hora atuais por padrão.
  4. Você pode adicionar a linha “.Save” para salvar o compromisso diretamente.

Eliminar problemas do Outlook

Sabe-se que o Outlook pode sofrer vários problemas. A pior situação deve ser a corrupção do Outlook. Se o seu arquivo do Outlook estiver corrompido e você tiver um backup em mãos, poderá restaurá-lo facilmente dados danificados do Outlook de backups. Mas se você não tiver backup, precisará reparar o arquivo corrompido do Outlook. Nesse caso, você pode usar a ferramenta de reparo integrada, Scapst.exe, ou recorrer a uma ferramenta mais experiente, como DataNumen Outlook Repair.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar SQL Server problema de banco de dados mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.