Lsteinme Geschrieben 24. Mai 2013 Teilen Geschrieben 24. Mai 2013 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerDa71 Geschrieben 28. Mai 2013 Teilen Geschrieben 28. Mai 2013 Hallo Lucas, zu Teil A: oDLs as Outlook.AddressLists= oNS.AdressLists Da fehlt ein "d" bei dem "oNS.AddressLists"... MFG DerDa71 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lsteinme Geschrieben 29. Mai 2013 Autor Teilen Geschrieben 29. Mai 2013 Arg ja, das könnt es gut sein^^ Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.