28.03.2019 Aufrufe

Hahner_Microsoft-Word-2010---Das-Ideenbuch_ISBN_9783866457980

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 7<br />

Technikwissen für Profis: Vorlagen erstellen, verteilen und automatisieren<br />

gstrVorname = GetSetting(strAnwendung, strSection, "Vorname", "")<br />

gstrNachname = GetSetting(strAnwendung, strSection, "Nachname", "")<br />

gstrStraße = GetSetting(strAnwendung, strSection, "Straße", "")<br />

gstrPLZ = GetSetting(strAnwendung, strSection, "PLZ", "")<br />

gstrOrt = GetSetting(strAnwendung, strSection, "Ort", "")<br />

End Sub<br />

Sämtliche Routinen zum Speichern und Auslesen der Benutzerdaten aus der Registry sind in der Datei<br />

VBA_Registry-speichern-und-auslesen.docm im Ordner Kapitel07 zu finden.<br />

Active Directory auslesen<br />

Sowohl beim Speichern der Benutzerdaten in INI-Dateien als auch in der Registry<br />

müssen Sie Ihre Benutzerdaten einmalig eintragen. Ist der PC in eine Domäne eingebunden,<br />

können Sie sich diesen Aufwand sparen. Denn dann ist Ihrem Anmeldekonto<br />

ein Profil zugewiesen, in dem der Administrator sämtliche Benutzerdaten wie<br />

Vor- und Nachname, Anschrift, Rufnummern und vieles mehr hinterlegen kann. Wenn<br />

Sie diese Informationen aus VBA heraus »anzapfen«, sparen Sie sich das mehrfache<br />

Erfassen und die Daten sind immer aktuell.<br />

<strong>Das</strong> Abfragen der aktuellen Benutzerdaten aus dem Active Directory – kurz AD – ist<br />

recht einfach. Hierzu werden lediglich ein ADSystemInfo-Objekt sowie ein User-Objekt<br />

benötigt. Sofern die Objektzuweisung keinen Fehler erzeugt (= der PC ist in einem AD<br />

eingebunden), können Sie die Daten aus dem AD in lokale Variablen übergeben und<br />

dann beliebig weiterbearbeiten. Tritt ein Fehler auf, ist der PC nicht in einem AD eingebunden<br />

und Sie müssen die Benutzerdaten entsprechend anders ermitteln.<br />

Listing 7.6 Die Daten des aktuellen AD-Benutzers lassen sich in <strong>Word</strong> abfragen und nutzen<br />

Sub pBenutzerdatenAusADLesen()<br />

Dim oadSystemInfo As Object<br />

Dim oadUser As Object<br />

On Error Resume Next<br />

Set oadSystemInfo = CreateObject("ADSystemInfo")<br />

Set oadUser = GetObject("LDAP://" & oadSystemInfo.UserName)<br />

If Err = 0 Then<br />

gstrVorname = oadUser.givenName<br />

gstrNachname = oadUser.sn<br />

gstrStraße = oadUser.streetAddress<br />

gstrPLZ = oadUser.postalCode<br />

gstrOrt = oadUser.l<br />

Else<br />

gstrVorname = "- Kein AD vorhanden -"<br />

gstrNachname = ""<br />

gstrStraße = ""<br />

gstrPLZ = ""<br />

gstrOrt = ""<br />

212

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!