KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como evitar que o Outlook avise demasiado cedo ou demasiado tarde?

AutoraKelly Data de Modificação

Por exemplo, trabalha das 9:00 às 18:00 todos os dias, mas agora está a agendar um compromisso para as 10:00 e adiciona um lembrete com 2 horas de antecedência no Outlook. Isso fará com que o lembrete seja ativado às 8:00 — antes do início do seu horário de trabalho. Em situações especiais, o aviso pode até soar à meia-noite, o que é bastante inconveniente. Muitos utilizadores do Outlook gostariam de evitar alertas demasiado cedo ou demasiado tarde. Para resolver este problema, apresento-lhe uma macro VBA para o Outlook.

Office Tab – Ative a Edição e Navegação com Separadores no Microsoft Office e torne o trabalho numa tarefa fácil
Desbloqueie Kutools para Outlook agora e desfrute de mais de 100 funcionalidades com acesso ilimitado para sempre
Potencie o seu Outlook 2024 - 2010 ou Outlook 365 com estas funcionalidades avançadas. Aproveite as funcionalidades poderosas do 100+ e eleve a sua experiência de e-mail!

Para impedir que o Outlook avise demasiado cedo ou demasiado tarde, pode proceder da seguinte forma:

Passo 1: prima em simultâneo as teclas Alt+F11 para abrir a janela do Microsoft Visual Basic for Applications.

Passo 2: expanda os Objetos do Microsoft Outlook no painel esquerdo e cole a seguinte macro VBA em ThisOutlookSession.

VBA: Impedir lembretes demasiado cedo ou demasiado tarde no Outlook

Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub

 

Nota: Pode especificar o seu período de trabalho alterando os seguintes parâmetros no código VBA acima:
reminderMaxHour = 20
reminderMinHour = 9

Passo 3: guarde esta macro VBA e reinicie o Microsoft Outlook.

A partir de agora, ao criar um compromisso com lembrete fora do período de trabalho que especificou, aparecerá uma caixa de diálogo a avisá-lo após clicar no botão Guardar e Fechar.

a captura de ecrã do passo sobre como evitar que o Outlook lembre demasiado cedo ou demasiado tarde

Se o lembrete for anterior à hora mínima de lembrete especificada ()reminderMinHour), clique em Simna caixa de diálogo; o lembrete será ajustado e emitido à hora mínima especificada ()reminderMinHour).

Se o lembrete for posterior à hora máxima de lembrete especificada (reminderMaxHour), clique em Sim na caixa de diálogo; o lembrete será ajustado e emitido à hora máxima especificada (reminderMaxHour).

Nota: Este código VBA funciona perfeitamente no Outlook 2013, mas não é compatível com o Outlook 2010 nem com o Outlook 2007.


Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook features1kutools for outlook features2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint