Suche VBS erweiterung für das Auslesen von AD Werten nach Office
Wie in diesem Forum:
https://www.administrator.de/index.php?content=61291#245072
Soweit so gut: klappt - ich brauche aber noch andere Werte...
Kann mir jemand bitte sagen wie die Erweiterung lautet? Bin kein Programmierer..
Ich brauche für folgende AD Einträge entsprechend Felder in Word zum Einfügen:
- Büro
- E-Mail
- Postfach
- Fax
- Rufnummer
Wie lautet hier der code? Unten der funktionierende Teil...
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 = objUser.sAMAccountName
objWord.UserAddress = objUser.Company & Chr(13) & _
objUser.streetAddress & Chr(13) & _
objUser.postalCode & " " & objUser.l & Chr(13) & _
objUser.co
objWord.Quit
https://www.administrator.de/index.php?content=61291#245072
Soweit so gut: klappt - ich brauche aber noch andere Werte...
Kann mir jemand bitte sagen wie die Erweiterung lautet? Bin kein Programmierer..
Ich brauche für folgende AD Einträge entsprechend Felder in Word zum Einfügen:
- Büro
- Postfach
- Fax
- Rufnummer
Wie lautet hier der code? Unten der funktionierende Teil...
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 = objUser.sAMAccountName
objWord.UserAddress = objUser.Company & Chr(13) & _
objUser.streetAddress & Chr(13) & _
objUser.postalCode & " " & objUser.l & Chr(13) & _
objUser.co
objWord.Quit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 164080
Url: https://administrator.de/contentid/164080
Ausgedruckt am: 25.11.2024 um 16:11 Uhr
15 Kommentare
Neuester Kommentar
Moin Moin
Anstatt diese Infos in eine Vorlage oder ein Dokument zu blasen, scheinst du zu versuchen Word zu erweitern und zu hoffen das diese infos wie duch Geisterhand in allen deinen Dokumenten auftauchen.
Starte deinen VBA Editor und schau dort in der Hilfe erstmal nach, was geht und was nicht.
Da kann man das auch gleich schön ausprobieren.
Gruß L.
Wie komme ich da heran? Wo hinterlegt man den ausgelesenen Wert?
Der Punkt ist doch das es die Eigenschaft "UsertelephoneNumber" im Word.Application nicht gibt.Das kann doch keine so besondere Anforderung sein....
Stimmt, aber du gehst dabei etwas umständlich vor.Anstatt diese Infos in eine Vorlage oder ein Dokument zu blasen, scheinst du zu versuchen Word zu erweitern und zu hoffen das diese infos wie duch Geisterhand in allen deinen Dokumenten auftauchen.
Starte deinen VBA Editor und schau dort in der Hilfe erstmal nach, was geht und was nicht.
Da kann man das auch gleich schön ausprobieren.
Gruß L.
Hallo TechnoX!
Im VBA-Editor kannst Du nach einem Doppelklick auf "ThisDocument" (im "Projekt-Explorer" links) folgenden Code in das Codefenster einfügen und ausführen:
Damit erhältst Du eine Übersicht über die standardmäßig ("BuiltIn") vorhandenen Eigenschaften und, sofern vorhanden, deren aktuellen Wert.
Mehr dazu zB hier ...
Grüße
bastla
Ich habe weder Kenntnisse von VBA noch habe ich einen Editor.
Ersteres kannst Du besser beurteilen, letzteres lässt sich mit einem einfachen Alt + F11
(in Word) falsifizieren ...Im VBA-Editor kannst Du nach einem Doppelklick auf "ThisDocument" (im "Projekt-Explorer" links) folgenden Code in das Codefenster einfügen und ausführen:
Sub ShowProperties()
On Error Resume Next
For Each Property In ActiveDocument.BuiltInDocumentProperties
Output = Output & vbCrLf & Property.Name
Output = Output & vbTab & Property.Value
Next
MsgBox Output
End Sub
Mehr dazu zB hier ...
Grüße
bastla
Hallo TechnoX!
Mit der dritten Zeile wird ein "Word"-Objekt erzeugt (also per Script "Word" gestartet), um dort Werte für Eigenschaften setzen zu können.
Nur kurz zu
"Per Makro" arbeitest Du übrigens eigentlich schon die ganze Zeit - in Word sind "Makros" VBA-Scripts
Eine Zeilenschaltung wird in Windows üblicher Weise nicht per "
Grüße
bastla
P.S.: Mit ""-Formatierung sähe Deine Zusammenfassung noch besser aus ...
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
Set objWord = CreateObject("Word.Application")
Was das bedeutet kann ich so konkret nicht sagen - ich vermute das hier Auslese Pfade und aktionen definiert werden.
Die ersten beiden Zeilen dienen dazu, das Objekt des angemeldeten Benutzers zu erhalten, um die Werte seiner Eigenschaften dann aus dem AD (konkret: aus seinen Kontoinformationen, nicht aus dem Profil) auslesen zu können.Set objUser = GetObject("LDAP://" & strUser)
Set objWord = CreateObject("Word.Application")
Was das bedeutet kann ich so konkret nicht sagen - ich vermute das hier Auslese Pfade und aktionen definiert werden.
Mit der dritten Zeile wird ein "Word"-Objekt erzeugt (also per Script "Word" gestartet), um dort Werte für Eigenschaften setzen zu können.
Nur kurz zu
Leider habe ich keinen Weg gefunden noch andere Speicher zu befüllen. Sprich - theoretisch gibt es in den Dokumenteigenschaften
Felder für "Author" etz. die man bestimmt ähnlich befüllen kann. Ich vermute aber das dies per Makro passieren muss.
Hast du meinen letzten Kommentar gelesen, bist du dem Link darin gefolgt?Felder für "Author" etz. die man bestimmt ähnlich befüllen kann. Ich vermute aber das dies per Makro passieren muss.
"Per Makro" arbeitest Du übrigens eigentlich schon die ganze Zeit - in Word sind "Makros" VBA-Scripts
Eine Zeilenschaltung wird in Windows üblicher Weise nicht per "
Chr(13)
", sondern mit der VB-Konstante "vbCrLf
" eingefügt.Grüße
bastla
P.S.: Mit ""-Formatierung sähe Deine Zusammenfassung noch besser aus ...
[OT] @TechnoX
Ich sach ma' so...
Ist doch immer noch besser als richtig arbeiten zu müssen.
Ausserdem ist der Freitag doch schon in siebeneinhalb Stunden wieder rum, also fast geschafft.
Und am bald ist auch der 1. Mai -"Tag der Arbeit" und da haben wir alle schon wieder einen Extra-Tag frei.
Den ganzen Sonntag
In der Gewissheit, dich aufgemuntert zu haben.
Schönes Wochenende
Biber
[/OT]
Ich sach ma' so...
Ist doch immer noch besser als richtig arbeiten zu müssen.
Ausserdem ist der Freitag doch schon in siebeneinhalb Stunden wieder rum, also fast geschafft.
Und am bald ist auch der 1. Mai -"Tag der Arbeit" und da haben wir alle schon wieder einen Extra-Tag frei.
Den ganzen Sonntag
In der Gewissheit, dich aufgemuntert zu haben.
Schönes Wochenende
Biber
[/OT]