Kui teil on vaja takistada konkreetsete meilide saatmist väljaspool tööaega, võite kasutada selles artiklis kirjeldatud meetodit. See võimaldab Outlookil konkreetsete meilide saatmisel automaatselt kontrollida, kas see on tööajal, ja lükata seda tööajani.
Mõnikord ei jää meili koostamise ja saatmise aeg teie tööaja piiridesse. Sel juhul võite soovida selle meili saatmise edasi lükata kuni järgmiste tööaegadeni. Üldjuhul saate selliste e-kirjade saatmise edasilükkamiseks kasutada omafunktsiooni „Edastamise viivitus”. Kuid sel viisil peaksite iga kord täpsustama tarneaja. See on liiga tülikas. Edaspidi jagame teile osa VBA koodist, mis saab konkreetse e-kirja saatmisel automaatselt kontrollida, kas see on tööaja sees ja lükkab saatmise kiiresti tööajani.

Lükake konkreetsete meilide saatmine kiiresti edasi kuni tööajani
- Käivitage kohe alguses oma Outlooki programm.
- Seejärel võite tekkival Outlooki põhikuval vajutada klahve Alt + F11.
- Järgmisena saate edukalt juurdepääsu Outlook VBA redaktorile.
- Pärast seda peate leidma ja avama projekti „ThisOutlookSession”.
- Seejärel kopeerige sellesse projektiaknasse järgmine VBA kood.
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
- Hiljem peate sellele meilile digitaalse sertifikaadi määrama.
- Seejärel muutke oma Outlooki makro sätteid, et lubada allkirjastatud makrosid.
- Edaspidi kuvatakse iga kord, kui saadate eelmääratletud kriteeriumidele vastavaid e-kirju, kui see on väljaspool tööaega, järgmise pildiga sarnase viipa:
- Kui valite "Jah", ajastab Outlook selle väljasaatmise kuni tööajani.
Päästke kahjustatud Outlooki failid
Outlook on pälvinud oma arvukate funktsioonide tõttu palju kiitust. Siiski on sellel endiselt surmav viga. See tähendab, et Outlook on altid vigadele ja korruptsioonile. Seetõttu peaksite oma Outlooki faile regulaarselt varundama. See võib vältida valusat Outlooki andmete kadumist. Lisaks tuleks parem kätte saada mõni võimas remonditööriist, nt DataNumen Outlook Repair, mis võib Outlooki parandamine probleemid mõne sekundi jooksul.
Autori sissejuhatus:
Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas mdf taastamine ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

