ServerRookie 10 Geschrieben 19. Januar 2012 Melden Teilen Geschrieben 19. Januar 2012 Hallo Leute, ich habe ein Problem und sitze schon lange daran und hoffe nun das eine von euch mir helfen kann. :confused: Ich möchte ein VB-Programm machen, dass mir aus mehreren bestimmten Verteilern die E-mail-Adressen auslist. Das funktionier soweit, jedoch haben einige Leute bis zu 5 Adressen drinne stehen und ich möchte alle andern mit auslesen, aber da scheitert es. Ich finde keine einfach und möglichst verständliche Lösung, aber vllt. könnt ihr mir ja helfen. Outlook 2010 Visual Basic 2010 'BENÖTIGTE VERWEISE Imports Microsoft.Office.Interop.Outlook Imports Microsoft.Office.Interop '// '// BENÖTIGTE DEKLERATIONEN '// Dim olApp As Outlook.Application Dim olNS As Outlook.NameSpace Dim olAL As Outlook.AddressList Dim olEntry As Outlook.AddressEntry Dim oldlMember As Outlook.AddressEntry '// '// OUTLOOK LADEN UND GAL AUSWÄHLEN '// olApp = New Outlook.Application olNS = olApp.GetNamespace("MAPI") olAL = olNS.AddressLists("Globale Adressliste") '// '// VARIABLEN '// Dim ListName As String Dim CSV As String Dim Config As String = System.AppDomain.CurrentDomain.BaseDirectory & "config.txt" Dim Name As String Dim Mail As String Dim lMemberCount As Long '// '// NAME DER VERTEILERGRUPPE AUS TXT DATEI '// FileOpen(2, Config, OpenMode.Input) While EOF(2) = False ListName = LineInput(2) '// '// OUTLOOK VERTEILERLISTE IM GAL SUCHEN '// olEntry = olAL.AddressEntries(ListName) '// '// ANZAHL DER USER IN DER GRUPPE AUSLESEN '// lMemberCount = olEntry.Members.Count '// '// CSV DATEI ERSTELLEN '// My.Computer.FileSystem.WriteAllText(System.AppDomain.CurrentDomain.BaseDirectory & ListName & ".csv", "Name,Email" & vbCrLf, False) CSV = System.AppDomain.CurrentDomain.BaseDirectory & ListName & ".csv" '// '// USER AUS DER GRUPPE AUSLESEN '// FileOpen(1, CSV, OpenMode.Append) For i = 1 To lMemberCount oldlMember = olEntry.Members.Item(i) Name = oldlMember.Name Mail = oldlMember.GetExchangeUser.PrimarySmtpAddress MsgBox(Mail) Print(1, Name & "," & Mail & vbCrLf) Next i FileClose(1) End While FileClose(2) Vielen Dank im vorraus! Zitieren Link zu diesem Kommentar
ServerRookie 10 Geschrieben 23. Januar 2012 Autor Melden Teilen Geschrieben 23. Januar 2012 Keiner eine Idee oder ein Ansatz? Ich bin langsam verzweifelt :( Oder kann ich das via AD machen? Ich bekomme ja den AD-Pfad der Verteilergruppe raus, wenn nötig Zitieren Link zu diesem Kommentar
mamamia 13 Geschrieben 24. Januar 2012 Melden Teilen Geschrieben 24. Januar 2012 Nochmal zum Verständnis: Du hast X Verteiler mit Y Mitgliedern und die haben Z-Versionen von eMailadressen? Hast du schonmal was mit Powershell gemacht? (Die frage kommt irgendwie immer ;)) Zitieren Link zu diesem Kommentar
ServerRookie 10 Geschrieben 24. Januar 2012 Autor Melden Teilen Geschrieben 24. Januar 2012 Ja habe ich, problem hierbei ist es, es soll auf einen anderen Server laufen und dieser hat die befehle get-distrubution -member usw. leider nicht. Daher muss VB herhalten. Zitieren Link zu diesem Kommentar
mamamia 13 Geschrieben 24. Januar 2012 Melden Teilen Geschrieben 24. Januar 2012 Aber ist nicht der Aufwand die Module nach zu installieren kleiner, als auf eine andere "umständlichere" Sprache umzusteigen? Zitieren Link zu diesem Kommentar
ServerRookie 10 Geschrieben 24. Januar 2012 Autor Melden Teilen Geschrieben 24. Januar 2012 Das sind Betriebsserver, an denen so wenig wie möglich installiert und geändert werden soll. Daher bietet sich ein VB-Programm halt an, da ich dafür keine weiteren Module, ect, auf dem Server benötige. Also ich geh davon aus das mit hier leider keiner bei mein VB-Problem helfen kann :(... Schade, trotzdem danke Zitieren Link zu diesem Kommentar
ServerRookie 10 Geschrieben 1. Februar 2012 Autor Melden Teilen Geschrieben 1. Februar 2012 Nur für Leute die es Interressiert habe die Lösung gefunden ;)! oldlmember.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x800F101E") Mit "PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x800F101E")" bekommt man alle Adressen vom User als array. Jetzt muss man nur noch Sringsplit und Filtern und zack hat man die einzelnen SMTP-Adressen! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.