Jump to content

Active Directory Infos in Word mit VBA auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hi,

 

für eine simple Word Vorlage (2003) möchte ich 3 Informationen aus dem Active Directory auslesen, die sich auf den angemeldeten Benutzer beziehen. Hierbei

soll der angemeldete Benutzer, seine Telefonnummer und die e-Mail Adresse aus dem AD ausgelesen werden. Auf meiner Suche hatte ich dieses Script gefunden:

 

Dim objSystemInfo As Object
Dim objUser As Object

Set objSystemInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSystemInfo.UserName)

Selection.GoTo what:=wdGoToBookmark, Name:="TelDurchwahl"
Selection.TypeText objUser.TelephoneNumber

Set objUser = Nothing
Set objSystemInfo = Nothing 

 

Um Fehler auszuschließen, habe ich mich bei meinen Versuchen nur auf die

Telefonnummer beschränkt. Ich bin noch kompletter VBA Neuling und möchte

mich gerne in das Thema einarbeiten. Wenn ich das bis jetzt richtig verstehe,

ist das im Code oben eine einfache Zuweisung, also so:

 

Suche in meinem Word Dokument den Text "TelDurchwahl" und wenn du ihn

gefunden hast, liest du vom angemeldeten Benutzer das AD Attribut

"TelephoneNumber" aus und fügst es ein. (Wobei ich da noch nicht weiß, an

welcher Stelle das dann eingefügt wird). Aber soweit bin ich ja noch gar nicht.

 

Wenn ich im VBA Editor bin und das Script ausführe, erhalte ich immer die

folgende Fehlermeldung:

 

"Laufzeitfehler '5101'

 

"Diese Textmarke ist nicht vorhanden."

 

Gehe ich dann auf Debuggen, zeigt er mir die Zeile:

 

Selection.GoTo what:=wdGoToBookmark, Name:="TelDurchwahl"

 

TelDurchwahl steht bei mir aber ganz normal in meinem Dokument.

Was mache ich hier falsch? Muss mit dem eigentlichen Worddokument noch

etwas machen?

 

Gruß

TiTux

Geschrieben

Hallo,

 

die Angabe "what" bei Selection.GoTo bezieht sich auf eine Textmarke (wdGoToBookmark). Diese Textmarke muß natürlich im Dokument existieren. Der Text "TelDurchwahl" ist keine Textmarke, nur simpler Text. Lege eine Textmarke an und der genannte Fehler tritt nicht mehr auf.

 

Wie wird eine Textmarke angelegt: Klick

 

Grüße,

 

Sigma

Geschrieben

Super, Vielen Dank Sigma!

 

Wenn Du jetzt noch einen Tipp für mich hast, dass er den Text der Textmarke

nicht mit der ausgelesenen Info ersetzt, sondern die ausgelesene Info dahinter schreibt?

 

Ciao

TiTux

Geschrieben (bearbeitet)

Klasse, funktioniert einwandfrei.

 

Jetzt muss ich es noch schaffen, dass er mir den Text unter die Textmarke setzt und das Makro automatisch mit dem Start der Vorlage ausgeführt wird.

 

Bin gerade am kulpa-online.de Tutorial lesen, das arbeite ich mal durch, dann wird wohl vieles verständlicher.

 

Danke Dir!

 

Ciao

TiTux

 

PS: Sind die letzten beiden Zeilen eigentlich nötig? Verstehe den Sinn von den beiden nicht.

 

Set objUser = Nothing
Set objSystemInfo = Nothing

bearbeitet von TiTux
  • 2 Monate später...
Geschrieben

Die bisherigen Antworten waren schonmal sehr hilfreich für mich. Jedoch habe ich noch ein Problem.

Ich möchte Textmarken in Kopf- und Fusszeile ersetzen lassen. Dies geht jedoch nicht da nur Textmarken im normalen Text ersetzt werden.

 

Wie kann ich dies ändern?

  • 2 Jahre später...
Geschrieben

Hallo Leute,

ich muss diesen Threat noch einmal aufwärmen. Ichh offe, er wird noch einmal gesehen.

 

Ich habe beim Auslesen der AD-Werte ein Problem. Einige Werte werden nicht ausgelesen obwohl im AD-Objekt definitiv ausgefüllt.

Gibt es eine Übersicht, wo ich sehen kann, welche Werte wann wie mit welchem Namen ausgelesen werden können.

Ich versteh es nicht......

 

Vielen Dnak im voraus.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...