Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Alle Verteiler erweitern

Mitglied: Uppe

Uppe (Level 1) - Jetzt verbinden

04.03.2010 um 10:31 Uhr, 2832 Aufrufe, 1 Kommentar

Hallo,

mit Hilfe diverser Foren habe ich folgenden Code zusammengebastelt:
01.
Private Sub CommandButton1_Click() 
02.
 
03.
'Deklaration 
04.
Dim OutApp As Object 
05.
Dim nspMapi As Object 
06.
Dim folMapi As Object 
07.
Dim itmAll As Object 
08.
Dim itmReal As Object 
09.
Dim itmDistList As Object 
10.
Dim strContactFilter As String 
11.
Dim excApp As Object 
12.
Dim excWkb As Object 
13.
Dim excWks As Object 
14.
Dim intRow As Integer 
15.
Dim i As Integer 
16.
Dim j As Integer 
17.
Dim k As Integer 
18.
 
19.
Set OutApp = CreateObject("Outlook.Application") 
20.
'Outlook-Objekte öffnen 
21.
Set nspMapi = OutApp.GetNamespace("MAPI") 
22.
'Set folMapi = nspMapi.GetDefaultFolder(olFolderContacts) 
23.
'Ordner auswählen 
24.
Set folMapi = nspMapi.Folders.Item("Public Folders").Folders.Item("Contacts") 
25.
Set itmAll = folMapi.Items 
26.
 
27.
'nur Verteilerlisten verwenden 
28.
strContactFilter = "[MessageClass] = 'IPM.Distlist'" 
29.
Set itmReal = itmAll.Restrict(strContactFilter) 
30.
 
31.
'Excel-Objekte öffnen 
32.
Set excApp = CreateObject("Excel.Application") 'Neue Excel-Instanz 
33.
Set excWkb = excApp.Workbooks.Add 'Neues Workbook anlegen 
34.
Set excWks = excWkb.Sheets(1) 'Erstes Sheet 
35.
 
36.
'Excel-Worksheet aufbereiten 
37.
With excWks 
38.
  'Sheet-Name 
39.
  .Name = "Outlook-Verteilerlisten" 
40.
  'Spaltenüberschriften 
41.
  .Cells(1, 1).Value = "Verteiler" 
42.
  .Cells(1, 2).Value = "Name" 
43.
  'Spaltenüberschriften fett 
44.
  .Rows("1:1").Font.Bold = True 
45.
  'Outlook-Verteilerliste nach Excel übertragen 
46.
  intRow = 1 
47.
   
48.
  'Excel einblenden 
49.
  excApp.Visible = True 
50.
 
51.
  For Each itmDistList In itmReal 
52.
      .Cells(intRow + 1, 1).Value = itmDistList.DLName 
53.
      j = 1 
54.
      k = 1 
55.
      For i = 1 To itmDistList.MemberCount 
56.
        If InStr(1, itmDistList.GetMember(i).Address, "@") Then 
57.
          .Cells(intRow + k, 2).Value = itmDistList.GetMember(i).Address 
58.
          k = k + 1 
59.
        Else 
60.
          .Cells(intRow + j, 3).Value = itmDistList.GetMember(i).Name 
61.
          j = j + 1 
62.
        End If 
63.
      Next i 
64.
      intRow = intRow + WorksheetFunction.Max(k, j) 
65.
  Next itmDistList 
66.
   
67.
  'Optimale Spaltenbreite 
68.
  .Columns.AutoFit 
69.
End With 
70.
 
71.
'Speicher freigeben 
72.
Set itmReal = Nothing 
73.
Set itmAll = Nothing 
74.
Set folMapi = Nothing 
75.
Set nspMapi = Nothing 
76.
Set excWks = Nothing 
77.
Set excWkb = Nothing 
78.
Set excApp = Nothing 
79.
 
80.
End Sub
Bisher durchsucht das Programm alle Verteilerlisten in einem Ordner und schreibt die Mitglieder dieser Listen in Spalte B und C. In B kommen alle Mail-Adressen, in C alle Verteiler, die in dem oberen Verteiler enthalten sind.

Nun möchte ich eine kleine Änderung. Ich möchte, dass er die enthaltenen Verteiler nicht mehr in Spalte C schreibt, sondern auch erweitert. Am Ende sollen zu dem obersten Verteiler nur noch Namen in Spalte B stehen.

Wie muss ich den Code verändern?

Danke und Gruß Uppe
Mitglied: RedWraith
04.03.2010 um 13:22 Uhr
Also, bei dir steht im Moment sowas wie:

Verteiler     |      Addy 
--------------------------- 
Konferenz     | Klaus@xy.de 
Konferenz     | Monika@xy.de 
Konferenz     | Mike@xy.de 
Buchhaltung   | Jenny@xy.de 
Buchhaltung   | Peter@xy.de
Und du möchtest jetzt folgendes:

Verteiler      | Addy 
----------------------------- 
Konferenz      | Klaus@xy.de 
               | Monika@xy.de 
               | Mike@xy.de 
Buchhaltung    | Jenny@xy.de 
               | Peter@xy.de
Sehe ich das richtig ?

Wenn nein, dann habe ich dich leider falsch verstanden.

Auf jeden Fall realisiert man Obiges am Einfachsten, in dem du dir merkst, welchen Verteilerlistennamen du zuletzt ausgegeben hast und wenn der zuletzt Ausgegebene derselbe ist, wie der, der als nächstes ausgegeben werden würde, dann verhinderst du das schreiben einfach.

01.
if itmDistList.DLName <> LetzterVerteiler then 
02.
	.Cells(intRow + 1, 1).Value = itmDistList.DLName  
03.
else 
04.
	.Cells(intRow + 1, 1).Value = "" 
05.
end if 
06.
 
07.
LetzterVerteiler=itmDistList.DLName  
08.
 
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Exchange 2010: Verbindungsabbrüche beim Erweitern von Verteilern

Frage von JimPietExchange Server

Moin, wir haben ein kleines Problem mit unserem Exchange-Server (Single-Server, 2008R2 SP1, Exchange 2010 SP3). Ich konnte schon ein ...

Batch & Shell

Variable erweitern

gelöst Frage von zensbertBatch & Shell6 Kommentare

Hi, Ich würde gerne eine variable erweitern, z.b. so: if %a_inst% 1 set variable=A if %b_inst% 1 set variable=B ...

Switche und Hubs

Switch erweitern

gelöst Frage von ruseiSwitche und Hubs11 Kommentare

Hallo Profis, habe einen Switch Netgear JGS524E am Laufen. Nun gibt es das Problem, dass ich in manchen Räumen ...

Hardware

Multimediadosen erweitern?

Frage von derRAV3NHardware1 Kommentar

Guten Tag. Ich hab mal wieder Fragen, wobei ich mir nicht so ganz sicher bin, ob ich hier damit ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 7 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 12 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server24 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...