Se você precisa se prevenir de enviar e-mails específicos fora do horário de trabalho, pode utilizar o método mostrado neste artigo. Ele pode permitir que o Outlook verifique automaticamente se está no horário de trabalho quando você envia e-mails específicos e atrasa até o horário de trabalho.
Às vezes, o horário em que você escreve e envia um e-mail não está dentro do seu horário de trabalho. Nesse caso, você pode adiar o envio deste e-mail até o próximo horário de trabalho. Geralmente, você pode usar o recurso nativo “Atrasar entrega” para atrasar esses e-mails. No entanto, dessa forma, você deve especificar o tempo de entrega todas as vezes. É muito problemático. A partir daí, compartilharemos com você um código VBA, que pode verificar automaticamente se está dentro do horário de trabalho quando você envia um e-mail específico e atrasa rapidamente o envio até o horário de trabalho.

Atrase rapidamente o envio de e-mails específicos até o horário de trabalho
- No início, inicie seu programa Outlook.
- Em seguida, na tela principal emergente do Outlook, você pode pressionar as teclas “Alt + F11”.
- Em seguida, você terá acesso ao editor VBA do Outlook com sucesso.
- Depois disso, você precisa localizar e abrir o projeto “ThisOutlookSession”.
- Posteriormente, copie o seguinte código VBA para esta janela do projeto.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As MailItem
Dim NewSendTime As String
Dim bDelayMail As Boolean
Dim nPrompt As Integer
bDelayMail = True
If TypeOf Item Is MailItem Then
Set objMail = Item
'Work on specific emails only
'You can change the conditions as per your needs
If objMail.Recipients.Item(1).Address = "boss@datanumen.com" Then
Select Case Weekday(Date, vbMonday)
'Delay 2 days if today is Saturday
Case 6
NewSendTime = (Date + 2) & " 09:00:00"
'Delay 1 days if today is Saturday
Case 7
NewSendTime = (Date + 1) & " 09:00:00"
Case Else
If DatePart("h", Now) < 9 Then
'Delay to 9 o'clock if now is too early
NewSendTime = Date & " 09:00:00"
ElseIf DatePart("h", Now) > 18 Then
Select Case Weekday(Date, vbMonday)
'Delay 3 days if today is Friday and now is over 6 PM
Case 5
NewSendTime = (Date + 3) & " 09:00:00"
'Delay to 9 o'clock if now is before 6 PM
Case Else
NewSendTime = (Date + 1) & " 09:00:00"
End Select
Else
bDelayMail = False
End If
End Select
If bDelayMail = True And objMail.DeferredDeliveryTime = "1/1/4501" Then
'Ask if to delay sending this email
nPrompt = MsgBox("Outside Working Hours:" & vbCrLf & "Do you want to delay this email until " & NewSendTime & "?", vbYesNo + vbExclamation, "Delay Email")
If nPrompt = vbYes Then
objMail.DeferredDeliveryTime = NewSendTime
Else
objMail.DeferredDeliveryTime = "1/1/4501"
End If
End If
End If
End If
End Sub
- Posteriormente, você será solicitado a atribuir um certificado digital a este e-mail.
- Em seguida, altere as configurações de macro do Outlook para permitir as macros assinadas.
- A partir de agora, toda vez que você enviar e-mails que atendam aos critérios predefinidos, se for fora do horário de trabalho, você receberá um prompt como a imagem a seguir:
- Se você selecionar “Sim”, o Outlook agendará o envio até o horário de trabalho.
Resgatar arquivos danificados do Outlook
O Outlook ganhou muitos elogios devido à sua miríade de recursos. No entanto, ainda tem uma falha mortal. Ou seja, o Outlook é propenso a erros e corrupção. Portanto, você deve fazer backup de seus arquivos do Outlook regularmente. Isso pode impedir que você sofra uma dolorosa perda de dados do Outlook. Além disso, é melhor você obter uma poderosa ferramenta de reparo, como DataNumen Outlook Repair, Que pode reparar o Outlook problemas em segundos.
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 recuperação mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

