Microsoft Outlook troubleshooting
Wyszukiwanie adresu w listach dystrybucyjnych

Wyszukiwanie adresu w listach dystrybucyjnych

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

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.