Se hai bisogno di impedirti di inviare e-mail specifiche al di fuori dell'orario di lavoro, puoi utilizzare il metodo mostrato in questo articolo. Può consentire a Outlook di controllare automaticamente se è in orario di lavoro quando invii e-mail specifiche e ritardarlo fino all'orario di lavoro.
A volte, il momento in cui componi e invii una mail non rientra nel tuo orario di lavoro. In questo caso, potresti voler ritardare l'invio di questa email fino al successivo orario lavorativo. In generale, puoi utilizzare la funzione nativa "Ritardo consegna" per ritardare tali e-mail. Tuttavia, in questo modo, dovresti specificare ogni volta l'orario di consegna. È troppo fastidioso. Successivamente, ti condivideremo un pezzo di codice VBA, che può controllare automaticamente se è entro l'orario lavorativo quando invii un'e-mail specifica e ritardare rapidamente l'invio fino all'orario lavorativo.

Ritarda rapidamente l'invio di e-mail specifiche fino all'orario di lavoro
- All'inizio, avvia il tuo programma Outlook.
- Quindi, nella schermata principale emergente di Outlook, puoi premere i tasti "Alt + F11".
- Successivamente avrai accesso all'editor VBA di Outlook con successo.
- Successivamente, è necessario individuare e aprire il progetto "ThisOutlookSession".
- Successivamente, copia il seguente codice VBA in questa finestra del progetto.
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
- Successivamente ti verrà richiesto di assegnare un certificato digitale a questa email.
- E quindi modificare le impostazioni delle macro di Outlook per consentire le macro firmate.
- D'ora in poi, ogni volta che invii e-mail che soddisfano i criteri predefiniti, se è al di fuori dell'orario di lavoro, riceverai una richiesta come la seguente immagine:
- Se selezioni "Sì", Outlook ne programmerà l'invio fino all'orario di lavoro.
Recupera i file di Outlook danneggiati
Outlook ha guadagnato molti complimenti grazie alla sua miriade di funzionalità. Tuttavia, ha ancora un difetto mortale. Cioè Outlook è soggetto a errori e corruzione. Pertanto, dovresti eseguire regolarmente il backup dei file di Outlook. Può impedirti di subire dolorose perdite di dati di Outlook. Inoltre, faresti meglio a procurarti un potente strumento di riparazione, come ad esempio DataNumen Outlook Repair, Che può riparare Outlook problemi in pochi secondi.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recupero mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

