Hvis du har brug for at forhindre dig selv i at sende specifikke e-mails uden for arbejdstiden, kan du bruge metoden vist i denne artikel. Det kan lade Outlook automatisk kontrollere, om det er i arbejdstid, når du sender specifikke e-mails og udsætter det indtil arbejdstid.
Til tider er det tidspunkt, hvor du skriver og sender en mail, ikke inden for din arbejdstid. I dette tilfælde ønsker du måske at udsætte afsendelsen af denne e-mail til de efterfølgende arbejdstider. Generelt kan du bruge den oprindelige funktion "Forsink levering" til at forsinke sådanne e-mails. Men på den måde bør du angive leveringstiden hver gang. Det er for besværligt. Derefter deler vi dig et stykke VBA-kode, som automatisk kan kontrollere, om det er inden for arbejdstiden, når du sender en bestemt e-mail og hurtigt forsinker afsendelsen indtil arbejdstiden.

Forsink hurtigt afsendelse af specifikke e-mails indtil arbejdstid
- Start dit Outlook-program lige fra starten.
- Derefter kan du trykke på “Alt + F11” -tasterne i den nye Outlook-hovedskærm.
- Dernæst får du adgang til Outlook VBA-editor i succes.
- Derefter skal du finde og åbne projektet “ThisOutlookSession”.
- Kopier derefter følgende VBA-kode til dette projektvindue.
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
- Senere bliver du bedt om at tildele et digitalt certifikat til denne e-mail.
- Og skift derefter dine Outlook-makroindstillinger for at tillade de underskrevne makroer.
- Fra nu af, hver gang du sender e-mails, der opfylder de foruddefinerede kriterier, hvis det er uden for arbejdstid, får du en prompt som følgende billede:
- Hvis du vælger “Ja”, planlægger Outlook, at det sendes indtil arbejdstid.
Redning beskadigede Outlook-filer
Outlook har tjent en masse kudos på grund af dets utallige funktioner. Det har dog stadig en dødbringende fejl. Det er Outlook er tilbøjelig til fejl og korruption. Derfor bør du sikkerhedskopiere dine Outlook-filer regelmæssigt. Det kan forhindre dig i at lide smertefuldt Outlook-datatab. Derudover havde du bedre få fat i et mægtigt reparationsværktøj, såsom DataNumen Outlook Repair, Hvilket kan reparere Outlook problemer inden for få sekunder.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder mdf opsving og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

