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