Hoe om ontvanger adresse te kontroleer voordat u deur Outlook gestuur word?
In sommige tye mag u dalk nie 'n paar belangrike ontvangers by To, CC of BCC velde voeg terwyl u e-posse deur Outlook stuur nie. Hier kan ek 'n metode instel om te kontroleer of die spesifieke e-posadresse bygevoeg is voordat u via Outlook gestuur het.
Kontroleer adresse voordat u met VBA-kode stuur
Antwoord op almal sluit myself uit in Outlook
As ons 'n antwoord op alle funksies in Outlook gebruik, kan ons ons rekeninge ook byvoeg tot die veld ook as die e-posse wat u ontvang het nog twee u rekeninge bevat. In hierdie geval kan u u rekeninge uit die To- en CC-velde verwyder. Ktools vir Outlook's My naam is kan u 'n guns doen om hierdie werk vinnig op te los. Slegs een klik nodig, alle myselft-rekeninge in Outlook sal van To- en CC-velde verwyder word. Klik vir 45 dae gratis proeflopie!
Hier het ek twee kodes wat u kan help om hierdie werk op te los. U kan enigeen kies wat u benodig.
1. Press Alt + F11 kis om in staat te stel Microsoft Visual Basic vir toepassings venster.
2. Dubbel kliek ThisOutlookSession van Project1 paneel om die kode redakteur oop te maak, kopieer en plak hieronder kode na redakteur.
VBA: Gaan ontvanger adres in To veld voordat gestuur word
Private Sub Application_ItemSend (ByVal Item As Object, Kanselleer Soos Boolean) 'UpdatebyExtendoffice20180523 Dim xAddressArr () As Variant Dim xAddress As String Dim xRecipient As Ontvanger Dim xPrompt As String Dim xYesNo As Integer Dim xDictionary As Scripting.Dictionary Op Fout Voer Volgende Stel xDictionary = Nuwe Scripting.Dictionary xAddressArr = Array ("example1@126.com", "example2@126.com", "example3@126.com") Vir i = LBound (xAddressArr) na UBound (xAddressArr) xDictionary.Add xAddressArr ), Waarna Volgende Ek Vir Elke xRecipient In Item.Recipients As xRecipient.Type = OlTo Dan As xDictionary.Exists (xRecipient.Address) Dan xDictionary.Remove xRecipient.Address End As Volgende As xDictionary.Count = 0 Then GoTo L1 Vir i = 0 To xDictionary.Count - 1 As xAddress = "" Dan xAddress = xDictionary.Keys (i) Ander xAddress = xAddress + ";" & xDictionary.Keys (i) Einde as Volgende i xPrompt = "U stuur dit nie na: "& xAddress &". Is jy seker jy wil die Mail stuur? " xYesNo = MsgBox (xPrompt, vbQuestion + vbYesNo, "Kutools for Outlook") As xYesNo = vbNo dan Kanselleer = Ware L1: Stel xRecipient = Niks Stel xDictionary = Niks Einde Sub
In die kode kan jy verander ("example1@126.com", "example2@126.com", "example3@126.com") na die regte ontvangers wat jy nodig het.
3. Dan ook in die Microsoft Visual Basic vir toepassings venster, kliek Gereedskap > Verwysings. Check Microsoft Scripting Runtime boks in Verwysings-Project1 dialoog.
4. Klik OK en stoor die kode.
Nou As die gespesifiseerde ontvangers nie verskyn in die veld Terwyl u e-posse stuur nie, sal 'n dialoog verskyn om u te herinner indien u die e-pos moet stuur.
Met bogenoemde kode, gaan dit net na die e-pos adresse in om veld, as jy wil inskakel om, CC en BCC velde, jy kan hieronder kode gebruik.
VBA: Gaan ontvanger adres in To / CC / BCC velde voor die stuur
Private Sub Application_ItemSend (ByVal Item as Object, Kanselleer as Boolean) 'UpdatebyExtendoffice20180523 Dim xRecipients As Outlook.Recipients Dim xRecipient As Outlook.Recipient Dim xPos As Integer Dim xYesNo As Integer Dim xPrompt As String Dim xAddress As String On Error Herhaal Volgende As Item. Klas <> OlMail Vervang sub-stel xRecipients = Item.Recipients xAddress = "example1@gmail.com" Vir elke xRecipient In xRecipients xPos = InStr (LCase (xRecipient.Address), xAddress) As xPos = 0 Dan xPrompt = "Jy stuur hierdie na "& xAddress &". Is jy seker jy wil dit stuur? " xYesNo = MsgBox (xPrompt, vbYesNo + vbQuestion + 4096, "Kutools for Outlook") As xYesNo = vbNo dan Kanselleer = Ware Einde As Volgende xRecipient End Sub
Met hierdie kode hoef jy nie te kyk nie Microsoft Scripting Runtime boks, stoor net die kode direk in werking.