Microsoft Outlook troubleshooting
W programie MS Outlook możemy spotkać się z problemem grupowania wiadomości według kontaktów.
 
W przypadku, kiedy nadawca używa wielu skrzynek i nazwa wyświetlana nadawcy jest różnie zdefiniowana, odbiorca ma kłopot, aby powiązać ze sobą np. sprawy biznesowe. Przy pomocy grupowania po kategoriach zakwalifikować można odbiorców do konkretnej grupy rozpoznając użytkownika po adresie zapisanym w książce adresowej.
 
Poniższe makro realizuje wyszukiwanie kontaktu po adresie email poczty przychodzącej w kontaktach z książki adresowej i dodaje do przychodzącej wiadomości kategorię o nazwie znalezionego kontaktu (pola: FullName = Nazwisko Imię).
 
Adres email nadawcy zostanie znaleziony wtedy, kiedy posiada on założony kontakt oraz jego adres jest jednym, z trzech możliwych w ramach kontaktu. Kontakty takie mogą być zwielokrotnione i mogą w Outlooku posiadać tą samą nazwę, co zwiększa ilość przyporządkowania. 
Sub FindContact_from_Adressbook_and_aSign_Category_toIncomingMail(Item As Outlook.MailItem)
    Dim oItems As Items, szukaj$, znaleziono As Boolean, oContact As ContactItem
    Dim oContactFolder As MAPIFolder
    oContactFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
    oItems = oContactFolder.Items

    szukaj = """" & Item.SenderEmailAddress & """"

    On Error GoTo dalej
    oContact = oItems.Find("[Email1Address] =" & szukaj & " or " & _
     "[Email2Address] =" & szukaj & " or " & _
     "[Email3Address] =" & szukaj & "")

    While Not oContact Is Nothing
        DoEvents()
        If Len(oContact.FullName) > 0 Then znaleziono = True : GoTo oznacz
        oContact = oItems.FindNext()
    End While
oznacz:
    If znaleziono = True Then
        Item.Categories = oContact.FullName
        Item.Save()
    End If
dalej:
    If Not oContact Is Nothing Then oContact = Nothing
    If Not oItems Is Nothing Then oItems = Nothing
End Sub
Aby użyć powyższy kod, należy wkleić go do modułu Outlooka (Alt+F11) i połączyć z regułą.
 
Niestandardowa reguła
Rys.1. Reguła niestandardowa (pusta).
 
Brak wyboru adresatów 
Rys.2. Brak wyboru adresatów (dotyczy wszystkich przychodzących).
 
Skrypt makro 
Rys.3. Skrypt (makro), które zostało wklejone w edytorze Visual Basic Outlooka.
 
Pozostaje tylko nazwać regułę i ją włączyć.

MVP Shon Oskar – VBATools.pl
Jeśli masz pytania dot. tego artykułu zapraszam na Forum
Skonfiguruj swój pakiet dodatków do Excela, Worda, PowerPointa i Outlooka



© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.