Microsoft Outlook troubleshooting
Wyszukiwanie adresu w listach dystrybucyjnych

Wyszukiwanie adresu w listach dystrybucyjnych

autor CodeTwo 2006-06-01 00:00:00 w Makra


2 komenarze | Dodaj komentarz

Artykuł dotyczy: Microsoft Outlook 2000/2002/2003

Jeśli posiadasz kilka list dystrybucyjnych w Outlook'u, które zawierają dużo kontaktów, to zarządzanie nimi może stać się trudne - zwłaszcza, gdy często zmienia się ich zawartość. Zazwyczaj dosyć dużym problemem jest to, że gdy usuwasz kontakt w Outlook'u, to nie jest on automatycznie usuwany z list dystrybucyjnych.

Poniższe makro wyszukuje we wszystkich listach dystrybucyjnych z bieżącego foldera podany adres e-mail. Po zakończeniu wyszukiwania wyświetla nazwy list, w których został on znaleziony. Dzięki temu możesz szybko sprawdzić wszystkie listy, na jakich znajduje się dany kontakt.

Sub SearchInDistLists()

    On Error Resume Next

    Dim oFolder As MAPIFolder
    Set oFolder = Application.ActiveExplorer.CurrentFolder
    
    ' Zapytaj o adres SMTP do wyszukania
    Dim strSearchAddress As String
    strSearchAddress = InputBox("Podaj adres SMTP do wyszukania w listach dystrybucyjnych w tym folderze.")
    If InStr(strSearchAddress, "@") < 1 Then
        MsgBox "Błędny adres SMTP"
        Exit Sub
    End If
    
    Dim strDistListNames As String
        
    ' Dla każdego elementu w folderze
    For Each item In oFolder.Items
    
        Dim oDistList As DistListItem
        Set oDistList = item
        If Not oDistList Is Nothing Then
            
            For nIndex = 1 To oDistList.MemberCount
                If UCase(oDistList.GetMember(nIndex).Address) = UCase(strSearchAddress) Then
                    strDistListNames = strDistListNames & oDistList.DLName & vbCrLf
                    Exit For    ' adres znaleziony
                End If
            Next
            
        End If
    Next
    
    ' Wyświetl wyniki
    If strDistListNames <> "" Then
        MsgBox "Adres '" & strSearchAddress & "' znaleziono w następujących listach dystrybucyjnych:" & _
                vbCrLf & vbCrLf & strDistListNames, vbInformation
    Else
        MsgBox "Adresu '" & strSearchAddress & "' nie znaleziono na żadnej liście dystrybucyjnej w tym folderze.", vbInformation
    End If

End Sub

Jeśli masz jakieś pytania lub komentarze dotyczące tego artykułu, napisz na naszym forum.

(c) CodeTwo. Wszelkie prawa zastrzeżone.



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

Komentarze

Komentarze
Jędrzej Gabryszczak
Jędrzej Gabryszczak 2011-11-17 13:45:54
Witam czy zna ktoś program lub makro działające w ten sam sposób tylko na Outlook 2007 (chodzi o wyszukiwanie adresów e-mail w listach dystrybucyjnych nawet jeśli nie są one dodane jako kontakt w liście kontaktów a jedynie w liście dystrybucyjnej) jeśli tak to bardzo proszę o pomoc i informację na adres e-mail aveto@o2.pl . Ps jeśli byłoby to makro to prosiłbym również o informację jak to makro uruchomić... z góry dziękuję
Jarek
Jarek 2011-12-21 12:41:55
u mnie nie działa

Dodaj komentarz

Dodaj komentarz
    Komentarz
Imię i nazwisko

Firma
Adres email
Podaj sumę cyfr 4 i 5:
Powiadamiaj mnie o nowych komentarzach do tego artykułu (musisz podać prawidłowy adres email).