TiTux 10 Geschrieben 5. Mai 2011 Melden Teilen Geschrieben 5. Mai 2011 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 Zitieren Link zu diesem Kommentar
Sigma 10 Geschrieben 5. Mai 2011 Melden Teilen Geschrieben 5. Mai 2011 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 Zitieren Link zu diesem Kommentar
TiTux 10 Geschrieben 5. Mai 2011 Autor Melden Teilen Geschrieben 5. Mai 2011 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 Zitieren Link zu diesem Kommentar
Sigma 10 Geschrieben 5. Mai 2011 Melden Teilen Geschrieben 5. Mai 2011 Hallo ActiveDocument.Bookmarks("TelDurchwahl").Range.InsertAfter objUser.TelephoneNumber Damit kannst Du Dir die Verwendung von Selection.GoTo sparen. Grüße, Sigma Zitieren Link zu diesem Kommentar
TiTux 10 Geschrieben 5. Mai 2011 Autor Melden Teilen Geschrieben 5. Mai 2011 (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 5. Mai 2011 von TiTux Zitieren Link zu diesem Kommentar
Bekina 10 Geschrieben 27. Juli 2011 Melden Teilen Geschrieben 27. Juli 2011 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? Zitieren Link zu diesem Kommentar
Sigma 10 Geschrieben 27. Juli 2011 Melden Teilen Geschrieben 27. Juli 2011 Mit dem Code aus meinem letzten Post funktioniert auch die Manipulation von Textmarken in Kopf- und Fußzeile. Mit Selection.GoTo geht das nicht. Grüße, Sigma Zitieren Link zu diesem Kommentar
redryder 10 Geschrieben 7. Oktober 2013 Melden Teilen Geschrieben 7. Oktober 2013 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. Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 7. Oktober 2013 Melden Teilen Geschrieben 7. Oktober 2013 Es ist immer schlecht alte Threads wieder hervorzuholen, noch dazu wenn Du selbst nicht daran beteiligt warst. Evtl. hilft dir diese Seite weiter: http://www.selfadsi.de/ In Zukunft bitte unbedingt einen eigenen neuen Thread für dein eigenes Problem eröffnen. Zitieren Link zu diesem Kommentar
redryder 10 Geschrieben 7. Oktober 2013 Melden Teilen Geschrieben 7. Oktober 2013 (bearbeitet) Hi Sunny, danke. Dein Link ist super. Werde trotzdem einen neuen Threat für mein Problem eröffnen müssen. bearbeitet 7. Oktober 2013 von redryder 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.