Como evitar que o Outlook lembre muito cedo ou muito tarde?
Por exemplo, você trabalha das 9h00 às 6h00 todos os dias, mas agora está marcando um compromisso às 10h00 e adiciona um lembrete de 2 horas para ele no Outlook. Isso significa que o lembrete funcionará às 8h antes do início do seu trabalho. Por outro lado, o lembrete pode soar à meia-noite em casos especiais. Isso é muito inconveniente e alguns usuários do Outlook podem querer evitar que o Outlook lembre-se muito cedo ou muito tarde. Aqui, vou apresentar uma macro VBA para você resolver no Outlook.
- Automatize o envio de e-mails com Auto CC / BCC, Avanço automático por regras; enviar Resposta automatica (Fora do escritório) sem a necessidade de um servidor Exchange...
- Receba lembretes como Aviso BCC ao responder a todos enquanto você está na lista BCC, e Lembrar quando houver anexos ausentes para anexos esquecidos...
- Melhore a eficiência do e-mail com Responder (todos) com anexos, Adicionar automaticamente saudação ou data e hora à assinatura ou assunto, Responder vários e-mails...
- Simplifique o envio de e-mails com Recuperar e-mails, Ferramentas de Anexo (Compactar tudo, salvar tudo automaticamente...), Remover Duplicados e Relatório Rápido...
Para evitar que o Outlook lembre muito cedo ou muito tarde, você pode fazer o seguinte:
Etapa 1: pressione o outro + F11 entretanto, para abrir a janela Microsoft Visual Basic for Applications.
Etapa 2: expandir o Objetos do Microsoft Outlook no painel esquerdo e cole a seguinte macro VBA no Esta sessão do Outlook.
VBA: Impedir lembretes 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
Note: Você pode especificar seu período de trabalho alterando os seguintes parâmetros no código VBA acima:
lembreteMaxHour = 20
lembreteMinHour = 9
Etapa 3: Salve este VBA e reinicie o Microsoft Outlook.
De agora em diante, ao criar um compromisso com lembrete de tempo fora do seu período de trabalho, aparecerá uma caixa de diálogo para lembrá-lo depois de clicar no Salvar fechar botão.
Se a hora do lembrete for anterior ao reminderMinHour especificado, clique no Sim na caixa de diálogo, ele mudará a hora do lembrete e fará o som do lembrete no reminderMinHour especificado.
Se a hora do lembrete for posterior ao reminderMaxHour especificado, clique no Sim na caixa de diálogo, ele irá alterar a hora do lembrete e lembrá-lo no reminderMaxHour especificado.
Nota: Este código VBA funciona bem com o Outlook 2013, mas não funciona com o Outlook 2010 e 2007.
Melhores ferramentas de produtividade de escritório
Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook
🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...
📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP) / Agendar envio de e-mails / CC/BCC automático por regras ao enviar e-mail / Encaminhamento automático (regras avançadas) / Adicionar saudação automaticamente / Divida automaticamente e-mails de vários destinatários em mensagens individuais ...
📨 Gestão de E-mail: Lembre-se facilmente de e-mails / Bloquear e-mails fraudulentos por assuntos e outros / Apagar Emails Duplicados / Pesquisa Avançada / Consolidar pastas ...
📁 Anexos Pró: Salvar em lote / Desanexar lote / Comprimir em Lote / Salvamento automático / Desanexação Automática / Compressão automática ...
???? Interface Mágica: 😊Mais emojis bonitos e legais / Aumente a produtividade do seu Outlook com visualizações com guias / Minimize o Outlook em vez de fechar ...
???? Maravilhas com um clique: Responder a todos com anexos recebidos / E-mails antiphishing / 🕘Mostrar fuso horário do remetente ...
👩🏼🤝👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembretes de aniversário ...
Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.