Como evitar que o Outlook lembre muito cedo ou muito tarde?
Por exemplo, você trabalha das 9h00 às 18h00 todos os dias, mas agora está agendando um compromisso para as 10h00 e adiciona um lembrete de 2 horas para ele no Outlook. Isso significa que o lembrete será acionado às 8h00, antes do início do seu expediente. Por outro lado, o lembrete pode soar à meia-noite em casos especiais. Isso é bastante inconveniente, e alguns usuários do Outlook podem querer evitar que o Outlook lembre muito cedo ou muito tarde. Aqui vou apresentar uma macro VBA para resolver isso no Outlook.
- Aumente sua produtividade de email com tecnologia de IA, permitindo que você responda rapidamente a emails, crie novos, traduza mensagens e muito mais.
- Automatize o envio de emails com CC/BCC automático, Encaminhamento automático por regras; envie Resposta automática (Fora do Escritório) sem necessidade de um servidor de exchange...
- Receba lembretes como Solicitar ao responder a um email em CCO comigo quando responder a todos estando na lista de CCO, e Lembrete de Anexos Ausentes para anexos esquecidos...
- Melhore a eficiência dos emails com Responder (Todos) Com Anexos, Adicionar automaticamente Saudação ou Data & Hora na Assinatura ou Assunto, Responder Múltiplos Emails...
- Simplifique o envio de emails com Recallar Email, Ferramentas de Anexo (Comprimir Todos, Salvar Todos Automaticamente...), Excluir Duplicados e Relatório Rápido...
Para evitar que o Outlook lembre muito cedo ou muito tarde, você pode fazer o seguinte:
Passo 1: Pressione simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
Passo 2: Expanda os Objetos do Microsoft Outlook no painel esquerdo e cole a seguinte macro VBA na sessão ThisOutlookSession.
VBA: Evitar lembrar muito cedo ou muito 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
Observação: Você pode especificar seu período de trabalho alterando os seguintes parâmetros no código VBA acima:
reminderMaxHour = 20
reminderMinHour = 9
Passo 3: Salve esta VBA e reinicie o Microsoft Outlook.
A partir de agora, ao criar um compromisso com o horário do lembrete fora do período de trabalho especificado, aparecerá uma caixa de diálogo para lembrá-lo depois de clicar no botão Salvar & Fechar.

Se o horário do lembrete for anterior à hora mínima de lembrete (reminderMinHour) especificada, clique em Sim na caixa de diálogo, isso mudará o horário do lembrete e fará o lembrete soar na hora mínima de lembrete (reminderMinHour) especificada.
Se o horário do lembrete for posterior à hora máxima de lembrete (reminderMaxHour) especificada, clique em Sim na caixa de diálogo, isso mudará o horário do lembrete e o lembrará na hora máxima de lembrete (reminderMaxHour) especificada.
Observação: Este código VBA funciona bem com o Outlook 2013, mas não funciona com o Outlook 2010 e 2007.
Melhores Ferramentas de Produtividade para Office
Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!
Experimente agora a nova versão GRATUITA do Kutools para Outlook, com mais de70 recursos incríveis para você usar PARA SEMPRE! Clique para baixar agora!
📧 Automação de Email: Resposta automática (Disponível para POP e IMAP) / Agendar envio de emails / CC/BCC automático por Regra ao enviar email / Encaminhamento automático (Regra avançada) / Adicionar saudação automaticamente / Dividir automaticamente emails com múltiplos destinatários em mensagens individuais...
📨 Gerenciamento de Email: Recallar Email / Bloquear emails suspeitos por assunto e outros critérios / Excluir Emails Duplicados / Pesquisa Avançada / Organizar Pastas...
📁 Anexos Pro: Salvar em lote / Desanexar em lote / Comprimir em lote / Salvar automaticamente / Desanexar automaticamente / Auto Comprimir...
🌟 Interface Mágica: 😊Mais emojis bonitos e estilosos / Aviso quando emails importantes chegarem / Minimizar Outlook ao invés de fechar...
👍 Recursos com Um Clique: Responder a Todos com Anexos / Emails Anti-Phishing / 🕘Exibir o fuso horário do remetente...
👩🏼🤝👩🏻 Contatos & Calendário: Adicionar contatos em lote a partir de emails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembrete de aniversário...

