
Przypisywanie nazwy kontaktu do kategorii po adresie email poczty
autor OShon 2011-01-27 13:55:00 w Makra
tagi: kategoria, przypisywanie, adres, email, poczta, kontakt
0 komenarze | Dodaj komentarz
tagi: kategoria, przypisywanie, adres, email, poczta, kontakt
0 komenarze | Dodaj komentarz
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łą.

Rys.1. Reguła niestandardowa (pusta).
Rys.2. Brak wyboru adresatów (dotyczy wszystkich przychodzących).
Rys.3. Skrypt (makro), które zostało wklejone w edytorze Visual Basic Outlooka.
Pozostaje tylko nazwać regułę i ją włączyć.
Shon Oskar – www.VBATools.pl
© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
