Estou usando o Microsoft Outlook 2016 Home.
Tenho clientes internacionais que esperam uma resposta rápida aos e-mails que eles me enviam. Para dormir um pouco, gostaria de configurar uma resposta automática "Fora do escritório" no Outlook para todos os e-mails recebidos entre 22:00 e 08:00, hora local.
Eu entendi que preciso aplicar um script para realizar isso. Eu encontrei este script que envia resposta automática durante o dia, para e-mails recebidos antes das 15:00. Esse script funciona como um encanto, então tentei alterá-lo para funcionar no período noturno, para e-mails recebidos entre 22:00 e 08:00.
Meu script alterado está aqui:
Public Sub Check_ReceivedTime(newMail As Outlook.MailItem)
Dim obj As Object
Dim ReceivedHour As Integer
Dim newReply As MailItem
Dim msg As String
ReceivedHour = Hour(newMail.ReceivedTime)
If ReceivedHour >= 22 OR ReceivedHour < 8 Then
Set newReply = newMail.reply
msg = "This is the email body text..."
CreateMail newReply.To, msg
Else
Debug.Print "During office hours. Do not sent the automated reply."
End If
Set newReply = Nothing
End Sub
Private Sub CreateMail(ReplyAddress As String, msg As String)
Dim objMail As Outlook.MailItem
Set objMail = CreateItem(olMailItem)
With objMail
.To = ReplyAddress
.Body = msg
.Display
' or
' .Send
End With
End Sub
Suspeito que possa haver um problema com o formato de 12/24 horas, mas não posso consertar isso sozinho. Alguém pode me ajudar, por favor?
Tags microsoft-outlook vba