Zum Inhalt springen

Outlook - Verteilisten auflösen


Lsteinme

Empfohlene Beiträge

Hallo mal wieder,

heute gehts um Outlook^^

Ich soll jetzt unsere Outlookautoemailfunktion überarbeiten. Das Problem dabei ist, ich hab aus der DB teilweise Emailadressen von speziellen mitarbeitern, aber auch Verteilerlistennamen.

Wenn ich nun stumpf die Verteilerlisten in den To: Bereich jage, und dann die Mitarbeiter die auch noch dabei seien sollen, kommt es oft vor das da Mitarbeiter mehrmals drin sind, einmal in einer Verteilerliste, einmal in den zusätzlichen (diese kommen meist aus den Mitgliedern von irgendwelchen Gruppen).

Ich hab zwar auf Gewusst wie: Liste der Mitglieder einer Verteilerliste mithilfe von Outlook Object Model in Visual Basic .NET ne anleitung gefunden, wie ich mir listen auflösen lassen kann, aber irgendwie knallt das bei mir in der Zeile oDLs as Outlook.AddressLists= oNS.AdressLists immer. Begründung: "Attribut nicht gefunden"

{Public member 'AdressLists' on type 'NameSpaceClass' not found}

Teil A: wie kann das sein und wie kann ichs beheben?

Teil B: gibts da nicht ne einfachere Möglichkeit eine bestimmte verteilerliste excel zu geben und aufgelöst zurück zu bekommen?

Und für die codebegeisterten, hier mal mein bisheriger Pcode, auch wenn der glaub ich hier wenig bringt.

einzig was das oNS.Logon() angeht frag ich mich ob das so passt, aber ich bekomm zumindest bei dem schritt keine Exception.

If params.ContainsKey(C_MailToIdentifier) Then

                        If params(C_MailToIdentifier).Length > 0 Then

                            Dim oApp As Outlook.Application = New Outlook.Application

                            Dim oNS As Outlook.NameSpace = olApp.GetNamespace("mapi")

                            oNS.Logon()

                            Dim oDLs As Outlook.AddressLists = oNS.AdressLists

                            Dim oGal As Outlook.AddressList = oDLs.Item("Global Address List")


                            Dim RealMailTo As String = ""

                            Dim MailingmemberDict As New Dictionary(Of String, List(Of String))

                            Dim parts() As String = params(C_MailToIdentifier).Split(";")

                            For Each part As String In parts

                                If Not (part.Contains("@")) Then

                                    MailingmemberDict.Add(part, New List(Of String))

                                    Dim sDL As String = part.Substring(0, part.Length - 2)

                                    Dim oEntries As Outlook.AddressEntries = oGal.AddressEntries

                                    Dim oDL As Outlook.AddressEntry = oEntries.Item(sDL)

                                    Dim oEntry As Outlook.AddressEntry

                                    For i As Integer = 1 To oEntries.Count

                                        oEntry = oEntries(i)

                                        MailingmemberDict(part).Add(oEntry.Name)

                                    Next

                                    RealMailTo += part

                                End If

                            Next


                            For Each part As String In parts

                                Dim found As Boolean = False

                                For Each list As List(Of String) In MailingmemberDict.Values

                                    For Each ma As String In list

                                        If ma.Equals(part.Substring(0, part.Length - 2)) Then

                                            found = True

                                        End If

                                    Next

                                Next

                                If found = False Then

                                    RealMailTo += part

                                End If

                            Next

                            .To = RealMailTo

                        End If

gruß Lucas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...