VBATools

Przypisane nazwy kontaktu do kategorii po adresie emali poczty przychodzącej

by on Jan.19, 2011, under Outlook, Porady

Spotkałem się z problemem grupowania wiadomości po kontaktach.

W przypadku kiedy nasz nadawca używa wielu skrzynek i nazwa wyświetlana nadawcy jest różnie zdefiniowana, odbiorca ma kłopot aby powiązać sprawy biznesowe. Powstał pomysł który przy pomocy grupowania po kategoriach zakwalifikuje odbiorców do konkretnej grupy rozpoznając adresata po adresie zapisanym w książce adresowej.

Makro realizuje wyszukanie kontaktu po adresie Email poczty przychodzącej względem kontaktów z książki adresowej i dodaje do przychodzącej wiadomości kategorie o nazwie znalezionego kontaktu (pola: FullName = Nazwisko Imię).
Znajdowanie kontaktu będzie miało skutek w przypadku kiedy nadawca posiada założony kontakt oraz jego adres jest jednym z 3ch możliwych w ramach kontaktu. Kontakty takie mogą być zwielokrotnione i mogą w Outlooku posiadając tą samą nazwę, co zwiększa ilość przyporządkowania. Metoda ta jest alternatywą na wyciągnięcie adresu SMTP wysyłającego.

Sub FindContact_from_Adressbook_and_aSign_Category_toIncomingMail(Item As Outlook.MailItem)
'MVP OShon from VBATools.pl
Dim oItems As Items, szukaj$, znaleziono As Boolean, oContact As ContactItem
Dim oContactFolder As MAPIFolder
Set oContactFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set oItems = oContactFolder.Items

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

On Error GoTo dalej
Set 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
 Set oContact = oItems.FindNext()
Wend
oznacz:
 If znaleziono = True Then
 Item.Categories = oContact.FullName
 Item.Save
 End If
dalej:
 If Not oContact Is Nothing Then Set oContact = Nothing
 If Not oItems Is Nothing Then Set oItems = Nothing
End Sub

Aby podpiąć pow kod, należy wkleić go do modułu Outlooka (Alt+F11)
i podpiąć pod regułę.

OL_Kontakt_na_kategorie1

Rys 1. Reguła nie standardowa (pusta)

OL_Kontakt_na_kategorie2

Rys 2. Brak wyboru adresatów (dotyczy wszystkich przychodzących)

OL_Kontakt_na_kategorie3

Rys 3. Skrypt to makro jakie zostało wklejone w developera Outlooka.

Pozostaje tylko Nazwa i włączenie reguły.

Na forum Outlook.pl możemy odszukać wiele przydatnych instrukcji  i procedur.

 

(c) 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.
:, , , , ,

1 Comment for this entry

Leave a Reply