bugmenot2
Goto Top

Active Directory Daten in Word - Problem

Hallo zusammen,

für eine Word 2007 Vorlage sollen Daten aus dem Active Directory ausgelesen werden.

ABER: Es soll nur einmal ausgelesen werden und dann in eine Zwischendatei gespeichert werden und aus dieser Zwischendatei sollen dann in Zukunft die Daten ausgelesen werden damit auch Notebooknutzer die Vorlagen nutzen können wenn diese unterweg sind.

Es gibt ja eine Möglichkeit mit Hilfe von Textmarken dies zu machen, nur fragt er dann jedesmal vom AD ab und das darf nicht.

Hoffe ihr könnt mir helfen.

Gruß

Content-ID: 179369

Url: https://administrator.de/contentid/179369

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

Logan000
Logan000 23.01.2012 um 12:25:01 Uhr
Goto Top
Moin moin

WIe liest du die Daten denm aus? Mit einem Makro?
Du könntet doch in diesem Makro prüfen ob deine Datei existiert, und falls nicht diese anlegen.

Gruß L.
bugmenot2
bugmenot2 23.01.2012 um 12:37:39 Uhr
Goto Top
Hi,

ich habe diese Anleitung gefunden:

http://www.sysadminlab.net/other/inserting-active-directory-information ...

Ich selbst habe leider keine Ahnung von Makros in Word und bin daher auf solche "Fertigpackungen" wie in dem Link angewiesen. Außerdem soll alles möglichst automatisiert laufen, damit der User nicht vorher irgendwas machen muss.

Vielleicht funktioniert es ja so: Wenn der User sich anmeldet wird ein Skript ausgeführt das Daten aus dem Active Directory ausliest und in eine Datei schreibt und Word liest dann die Daten aus dieser Datei aus. So oder so ähnlich. ^_^

Gruß
Logan000
Logan000 23.01.2012 um 13:07:59 Uhr
Goto Top
Moin moin

Zitat von @bugmenot2:
Vielleicht funktioniert es ja so: Wenn der User sich anmeldet wird ein Skript ausgeführt das Daten aus dem Active Directory
ausliest und in eine Datei schreibt und Word liest dann die Daten aus dieser Datei aus. So oder so ähnlich. ^_^
Ja, so in der Art hatte ich mir das vorgestellt.

Nur,
Ich selbst habe leider keine Ahnung von Makros in Word und bin daher auf solche "Fertigpackungen" wie in dem Link
angewiesen.
ohne Kenntnisse in Macros (bzw. den Willen sich diese anzueigen) wirst du wohl scheitern.

Gruß L.
bugmenot2
bugmenot2 23.01.2012 um 14:06:52 Uhr
Goto Top
Ich empfinde es als etwas übertrieben, sich in die Programmierung von Makros zu vertiefen wenn ich es ohnehin nur für diese eine Sache benötige. Zumal ich ja im Grunde nur zwei Sachen wissen muss:

1. Wie muss das Skript aussehen das die Daten bei der Anmeldung aus dem AD ausliest und in eine Datei speichert und
2. Welcher Befehl muss in der Word Datei stehen damit die Datei ausgelesen wird.

Wenn du dir das auch schon so vorgestellt hast wie ich, dann hast du doch so ein Skript schonmal gesehen oder nicht? Oder bist du genauso ahnungslos wie ich? :D

Gruß
Logan000
Logan000 23.01.2012 um 14:49:37 Uhr
Goto Top
Moin Moin

Oder bist du genauso ahnungslos wie ich? :D
Das kann ich ruhigen Gewissens verneinen.

Ich empfinde es als etwas übertrieben, sich in die Programmierung von Makros zu vertiefen wenn ich es ohnehin nur für
diese eine Sache benötige.
Es ist doch unerheblich wie oft du das benötigst, wenn du es überhaupt nicht hinbekommst.
Dann bleibt die Einsatzhäufigkeit doch bei konstant 0.

Gruß L.
bugmenot2
bugmenot2 23.01.2012 um 14:57:22 Uhr
Goto Top
Hi,


Das kann ich ruhigen Gewissens verneinen.
Habe ich mir schon gedacht :D

Es ist doch unerheblich wie oft du das benötigst, wenn du es überhaupt nicht hinbekommst.
Dann bleibt die Einsatzhäufigkeit doch bei konstant 0.
Ich kann es ja auch nicht hinbekommen, wenn mir keiner helfen will.

Hier ist ein Beispiel wie man AD Daten mittels Batch Datei auslesen kann, die Frage ist nun. Ob es auch ein Befehl gibt diese Ausgaben direkt in einer Textdatei zu speichern.

Gruß
Logan000
Logan000 23.01.2012 um 15:33:45 Uhr
Goto Top
Moin

Ich kann es ja auch nicht hinbekommen, wenn mir keiner helfen will.
Das kannst du so auch nicht sagen.
Deine Problembeschreibung ist zu Grob und legt nahe das du Dir hier ein Skript schreiben lassen möchtest.
Und ohne signifikante Eigenleistung, ist jede Hilfestellung schwierig.

Hier ist ein Beispiel wie man AD Daten mittels Batch Datei auslesen kann, die Frage ist nun. Ob es auch ein Befehl gibt diese
Ausgaben direkt in einer Textdatei zu speichern.
In Batch erfolgt die Ausgabe in eine Textdatei mit
WasAuchImmer >> meineDatei.txt

Gruß L.
bugmenot2
bugmenot2 23.01.2012 um 16:19:58 Uhr
Goto Top
Hi,

das erwähnte Skript behandelt leider nur die Möglichkeit ein Attribut auszugeben und nicht mehrere.

@echo off & setlocal
set "G=%temp%\GetL.vbs"
>"%G%" echo WScript.Echo GetObject("LDAP:" ^& CreateObject("ADSystemInfo").UserName).l
for /f "delims=" %%i in ('cscript
nologo "%G%"') do set "Ort=%%i"
echo %Ort%

Wie müsste es denn aussehen, wenn es auch noch "sn" statt "l" ausgeben soll.

Leider würde mir dieses Wissen aber ohnehin nicht viel bringen, da ich ja nicht weiß wie ich Word dazu bringen kann
Daten aus .txt Dateien zu lesen.

Ich empfand die Problembeschreibung als recht Präzise, kann aber auch daran liegen das ich schon so lange versuche das
Problem zu lösen.
Logan000
Logan000 24.01.2012 um 09:33:28 Uhr
Goto Top
Moin moin

1. Wenn du Codefragmente postest benutze bitte die . die machen nicht nur das Lesen leichter.
2. Ich kann mit deinem Batchfetzen natürlich nicht so viel anfangen da du darin VBS Skrite aufrufst die ich nicht kenne.
Bevor du die jetzt auch noch postest, soltest du dir erstmal überlegen in welcher sprache du das Skript aufbaust.

Ich würe dir da VBS empfehlen. Denn gerade für Anfänger ist es leicher wenn man sich nicht gleich in 2 Dialekten stürzt.
Darüberhinaus ist VBS mit VBA (Skriptsprache im MS Office) quasi identisch.

Hier solltest du reihenweise Beispiele finden wie man in VBS User daten aus dem AD liest.
Für das Lesen/Schreiben von Textdateien empfehle ich die die .

Bevor du allerdings einfach loslegst soltest du dir einen Aufbau für deine Textdatei überlegen.

Gruß L.
bugmenot2
bugmenot2 24.01.2012 um 11:43:36 Uhr
Goto Top
Hi,

erstmal danke für die Hilfe face-smile

Ich bin jetzt schon weiter. Die BatchDatei habe ich erweitern können und die funktioniert auch und legt dank dir auch eine .txt Datei an. Derzeit sollen die Mitarbeiter aber noch mit den alten Vorlagen arbeiten und die sind mit dem Befehl
{USERADRESS}
ausgestattet. Dabei greift Word auf das Feld Postanschrift zu. Und jetzt habe ich eine VBS Datei die die Daten aus dem AD in die entsprechenden Felder füllt:
Set objSysInfo = CreateObject("ADSystemInfo")  

strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)  

Set objWord = CreateObject("Word.Application")  
objWord.UserName = objUser.givenName & " " & objUser.SN  
objWord.UserInitials = Left(objUser.givenName, 1) & Left(objUser.SN, 1)
objWord.UserAddress = "Abteilung" & Chr(13) & objUser.department & Chr(13) & objUser.givenName & " " & objUser.SN & Chr(13) & _   
objUser.telephoneNumber & Chr(13) & _ 
objUser.mail
objWord.Quit

Der funktioniert auch super. Jetzt erstmal abwarten was noch geändert werden muss und wie die v2 aussehen muss.


So, also das soll so ein All-in-One Skript werden. In dem Skript soll ausserdem ausgeführt werden, dass eine Word-Vorlage an einem bestimmten Speicherort erstellt wird und in dieser Vorlage sollen dann die oben ausgeführten Befehle nochmal an einer Textmarke ausgeführt werden. Sodass andere Vorlagen auf diese Vorlage zugreifen können. Der Speicherort währe also dementsprechend in AppData/Roaming etc...

Irgendwelche Ideen ist das überhaupt möglich?

Gruß
bugmenot2
bugmenot2 25.01.2012, aktualisiert am 18.10.2012 um 18:49:51 Uhr
Goto Top
Da das eigentliche Problem mitlerweile gelöst ist werde das hier mal als gelöst betrachten. Wer sich mit VBS auskennt, kann mir ja eventuell im neuen Thread weiterhelfen:
Autotext in Word erstellen mit VBS?