Forums Neueste Beiträge
 

Informationen aus Active Directory

24/06/2008 - 10:50 von Steffen Meyer | Report spam
Hallo zusammen,

ich habe ein Problem, bei dem ich nicht wirklich weiter komme.
Hier in der Firma sollen globale Vorlagen verwendet werden, bei denen von
einigen der Ansprechpartner mit E-Mail und Telefon im Kopf eingetragen
werden soll.
Bisher verwenden wir einfach Dropdown-Felder, bei denen man dann die
entsprechenden Werte einfach auswàhlen kann.
Leider führte dies in der Vergangenheit immer dazu, dass sich einige die
Vorlagen lokal kopierten die Auswahl für sich selbst anpassten und nur noch
mit diesen arbeiteten, auch wenn diese schon làngst überholt waren.
Um dies zu vermeiden hatte ich mir gedacht, ich hole die notwendigen
Informationen aus dem ActiveDirectory, dann braucht keiner mehr ein Dropdown
Menü bedienen.
Leider gibt es nun aber auch Sekretàrinnen, welche im Namen Ihrer
Vorgesetzten Briefe schreiben sollen und bei denen wird ja nun nicht der
Name des Vorgesetzten eingetragen, sonder Ihr eigener, was in diesem Fall
leider unerwünscht ist.

Ich hatte mir dazu nun vorgestellt, beim öffnen der Vorlage ein Formular
aufzurufen, mit einem Listenfeld, in welchem nun die Namen der Benutzer
erscheinen - auch gleich aus dem AD.
Nach der Auswahl eines Namens soll dann der Rest, wie E-Mail und
Telefonnummer geholt werden und an entsprechnder Stelle im Dokument
eingefügt werden.

Bisher habe ich es geschaft, ein einfaches Listenfeld zu erstellen und dort
alle Benutzer der Domàne einzutragen. Dazu habe ich nun jedoch das Problem,
dass ich ja nicht alle Benutzer haben möchte (kein Administrator, ...)
sondern nur Benutzer einer bestimmten Gruppe.

Mein Code dafür:
Set objComputer = GetObject("WinNT://" & "domànenname")
objComputer.Filter = Array("user")
For Each objUser In objComputer
With Me.lstUser
.AddItem objUser.Name
End With

wie muß ich den Filter setzen, um alle user einer bestimmten Gruppe zu
erhalten?

Mein nàchstes Problem ist, dass ich anschließend zwar einen Namen
(objUser.Name) habe, aber nicht weiß, wie mein Code aussehen muss, um die
Informationen von diesem Benutzer abrufen zu können.

Mein Code funktioniert nur mit dem gerade angemeldeten User:

'Daten des Domànen-Benutzers auslesen und bei Textmarken einfügen
Set objSystemInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSystemInfo.UserName)

ActiveDocument.Bookmarks("txtName").Range.Text = objUser.LastName
ActiveDocument.Bookmarks("txtVorname").Range.Text = objUser.FirstName

Was muss ich àndern, damit ich von meinem zuvor ausgewàhlten Benutzer die
Informationen erhalte?

Hier in der Firma wird zur Zeit Win2000/XP und Office2000/XP/2003/2007
verwendet, weshalb die Lösung auch auf allen Office Varianten funktionieren
sollte.

Besten Dank
Steffen
 

Lesen sie die antworten

#1 Thomas Gahler
25/06/2008 - 07:13 | Warnen spam
Hallo Steffen


Was muss ich àndern, damit ich von meinem zuvor ausgewàhlten Benutzer die
Informationen erhalte?


Ich glaube nicht, dass du hier eine Antwort bekommst. Wir hatten hier in der
letzten Jahren nur wenige Fragen zum AD. Musst wohl eine passendere NG
suchen. Ich würde mich bei den richtigen Programiersprachen umsehen, die
Hinweise von dort sollten dann portierbar sein.


Ach ja noch was, falls du was hast, dann wàre ich froh, wenn du das oder
einen Link hier posten könntest, denn ich weiss, dass ich diese Anforderung
wohl im Laufe des Jahres auch umsetzen sollte.

Gruss

Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen