Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Per VBA Adressbücher in Öffentlichen Ordnern als Adressbuch im Outlook 2003 registrieren

Tipp Entwicklung VB for Applications

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

05.09.2009, aktualisiert 10:21 Uhr, 13303 Aufrufe, 5 Kommentare, 2 Danke

Hallo zusammen,
wer kennt das nicht...man hat einige 100 oder sogar 1000 Benutzer in einem Netzwerk und immer mal wieder muss ein Outlookprofil gelöscht werden und neu angelegt werden. Wir haben z.B. etliche Adressbücher über Öffentliche Ordner realsiert, da mehrere Mitarbeiter die selben Kontakte haben. Wir haben uns dazu einen kl. Automatismus geschrieben.

Und zwar basiert das Ganze eigentlich VBS (VBScripting) das bei uns unter WindowsXP Professional (SP3) und Exchange 2003 (SP2) ohne Probleme läuft:
01.
Dim objOutlook, objOeffordner, objItems 
02.
 
03.
Set objOutlook = CreateObject("Outlook.Application") 
04.
 
05.
Set objOeffordner = objOutlook .GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Kontakte").Folders.Item("RZ FRA") 
06.
Set objItems = objOeffordner.Items 
07.
objOeffordner.showAsOutlookAB = True
In Zeile 3 gebt ihr einfach den kompletten Verzeichnispfad nacheinander zum Ziel an. Wichtig dabei ist, dass dieses Verzeichnis in den Öffentlichen Ordner auch als Typ "Adressbuch" angelegt worden ist.
In Zeile 5 wird eben festgelegt, ob das Adressbuch im Outlook des Benutzer angezeigt werden soll. Diese Option wird interessant, wenn sich die Struktur im Öffentlichen Ordner ändern soll. Dann muss vor dem Veränderung der Strutkur der Eintag entfernt werden.

Wir haben das Ganze über ein Anmeldescript (Batch) geregelt und haben für alle Öffentlichen (Adressbuch)Ordner ein solches Script auf dem NETLOGON - Verzeichnis der DCs liegen. Die Batchdatei schaut erstmal nach, ob für Outlook bereits ein Profil existiert. Falls dies der Fall ist wird das Script beendet. Da eigentlich alle Einstellungen getätigt worden sind. Anderen Falls wird über eine PRT-Datei das Outlookprofil erstellt und konfiguriert. Danach wird an Hand von der AD-Gruppenzugehörigkeit (ifmember.exe) die entsprechenden VBS-Dateien nacheinander einzeln gestartet. Somit werden alle Fälle abgedeckt.

Noch ein Tipp: Neue Struktur parallel aufbauen und neue VB-Scripte mit den neuen Pfaden erstellen und das Anmeldescript ergänzen bzw. die Abfragen eben anders gestalten. Somit wird zurest der alte Eintag entfernt und danach das neue Adressbuch eingebunden. Somit merken die Mitarbeiter nur, dass der Outlookstart ein wenig andauert.


Grüße,
Dani
Mitglied: Seardan
08.09.2009 um 14:53 Uhr
Hallo,

vielen Dank für den Tipp. Ich werde das Script bestimmt bald ausprobieren!

Gruß Seardan
Bitte warten ..
Mitglied: TheEternalPhenom
10.09.2009 um 14:15 Uhr
Ich hab mal ne kleine Frage als was deklarierst du die Objekte in Zeile 1???
Falls mich meine VBA-Kenntnisse nicht ganz verlassen haben dürfte die Dekleration mehrere Werte in einer Zeile eigentlich nicht mehr funktionieren.
Ich will dein Programm nicht iwi demontieren aber meine VBA-Kentnisse sind etwas, naja eingerostet, und da würd mich das schon mal interessieren.
Aber ansonsten nettes Script ich glaube das könnte man bei mir an der Schule auch gut gebrauchen.

Mit freundlichen Grüßen

duffman521
Bitte warten ..
Mitglied: Dani
11.09.2009 um 14:22 Uhr
Moin,
du hast Recht...die 1. Zeile macht nur Sinn wenn auch "Option Explicit" in der allerersten Zeile steht. Somit können nur Variable benutzt werden die registiert sind. Ist eben wie bei C# oder Delphi.


Grüße,
Dani
Bitte warten ..
Mitglied: TheEternalPhenom
11.09.2009 um 15:26 Uhr
Dann bin ich ja beruhig das meine VBA-Kenntnisse noch nicht all zu arg eingerostet sind.
Bitte warten ..
Mitglied: misterl
28.01.2016 um 16:27 Uhr
Hallo,

hat jemand vielleicht ein aktuelleres VBA Script für Outlook 2013 oder 2016. Die automatische Verbindung eines Adressbuches aus dem öffentlichen Ordner wäre eine sehr nützliche Funktion.

Habe folgendes versucht, direkt im gestarteten Outlook 2016 und ALT+F11:

Dim objOutlook, objOeffordner, objItems
Set objOutlook = CreateObject("Outlook.Application")
Set objOeffordner = objOutlook .GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Kontakte").Folders.Item("Technik-Adressbuch")
Set objItems = objOeffordner.Items
objOeffordner.showAsOutlookAB = True


Leider ohne Erfolg.

Danke für Eure Unterstützung
Beste Grüsse MisterL
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...