Briefvorlagage.dot mit Daten aus der Active Directory füllen
Hallo,
wir haben bei uns allgemeine Briefvorlagen. Diese müssen momentan noch mit den eigenen Daten gefüllt werden (Namne, Telefonnr, Email, Fax).
Jetzt wollen wir das diese Daten automatisch beim öffnen der Briefvorlage aus der Active Directory genommen werden, so das kein User mehr diese Daten eingeben muss. Sie sind einmalig hinterlegt in der AD.
Die User melden sich mit Iihrem Benutzernamen und Passwort an unsere Domöne an.
Hat jemand eine Lösung hierfür????
ein absoluter Traum wäre wenn diese Vorlagen (Veröffentlichung SharePoint Services) auch darüber verfügbar wären???
wir haben bei uns allgemeine Briefvorlagen. Diese müssen momentan noch mit den eigenen Daten gefüllt werden (Namne, Telefonnr, Email, Fax).
Jetzt wollen wir das diese Daten automatisch beim öffnen der Briefvorlage aus der Active Directory genommen werden, so das kein User mehr diese Daten eingeben muss. Sie sind einmalig hinterlegt in der AD.
Die User melden sich mit Iihrem Benutzernamen und Passwort an unsere Domöne an.
Hat jemand eine Lösung hierfür????
ein absoluter Traum wäre wenn diese Vorlagen (Veröffentlichung SharePoint Services) auch darüber verfügbar wären???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 106027
Url: https://administrator.de/contentid/106027
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
18 Kommentare
Neuester Kommentar
Habe das bei uns mit einem Makro realisiert (habe ich zum Teil auch von hier)
Dieses Makro läuft nur auf einem Pfad im System, hier haben die User kein Schreibrecht. Somit wird die Datei nicht überschrieben. Jeder kann sich hier also sein eigenens Briefpapier erstellen.
Code:
Sub AutoOpen()
On Error Resume Next
Dim qQuery, objSysInfo, objuser
Dim firma, Name, EMail, Phone, Fax, web, position, Abteilung
If ThisDocument.Name = "Briefvorlage.doc" And _
ThisDocument.Path = "T:\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\hm_srv02\Tausch\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\HM_srv02\Tausch\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\Hm_srv02\Tausch\Briefvorlage_PCC" _
Then
' Active Directory Informationen für den angemeldeten User lesen
Set objSysInfo = CreateObject("ADSystemInfo")
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.UserName
Set objuser = GetObject(qQuery)
'Variablen mit AD-Attributen füllen
firma = objuser.company
Abteilung = objuser.physicalDeliveryOfficeName
Name = objuser.firstname & " " & objuser.lastname
Phone = objuser.TelephoneNumber
Fax = objuser.facsimileTelephoneNumber
EMail = objuser.mail
web = objuser.wwwHomePage
position = objuser.Title
smsEinfügen "smsAbteilung", Abteilung
smsEinfügen "smsTel", "tel: " & Phone
smsEinfügen "smsName", Name
smsEinfügen "smsweb", web
smsEinfügen "smsUnterschrift", Name
smsEinfügen "smsUnterschriftAbteilung", Abteilung
smsEinfügen "smsEmail", EMail
End If
End Sub
Public Sub smsEinfügen(Textmarke, Variable)
' Prozedur zum Einfügen des Wertes ("Variable") an der entsprechenden Textmarke
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then
Selection.GoTo What:=wdGoToBookmark, Name:=Textmarke
Selection.TypeText Variable
End If
End Sub
Dieses Makro läuft nur auf einem Pfad im System, hier haben die User kein Schreibrecht. Somit wird die Datei nicht überschrieben. Jeder kann sich hier also sein eigenens Briefpapier erstellen.
Code:
Sub AutoOpen()
On Error Resume Next
Dim qQuery, objSysInfo, objuser
Dim firma, Name, EMail, Phone, Fax, web, position, Abteilung
If ThisDocument.Name = "Briefvorlage.doc" And _
ThisDocument.Path = "T:\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\hm_srv02\Tausch\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\HM_srv02\Tausch\Briefvorlage_PCC" Or _
ThisDocument.Path = "\\Hm_srv02\Tausch\Briefvorlage_PCC" _
Then
' Active Directory Informationen für den angemeldeten User lesen
Set objSysInfo = CreateObject("ADSystemInfo")
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.UserName
Set objuser = GetObject(qQuery)
'Variablen mit AD-Attributen füllen
firma = objuser.company
Abteilung = objuser.physicalDeliveryOfficeName
Name = objuser.firstname & " " & objuser.lastname
Phone = objuser.TelephoneNumber
Fax = objuser.facsimileTelephoneNumber
EMail = objuser.mail
web = objuser.wwwHomePage
position = objuser.Title
smsEinfügen "smsAbteilung", Abteilung
smsEinfügen "smsTel", "tel: " & Phone
smsEinfügen "smsName", Name
smsEinfügen "smsweb", web
smsEinfügen "smsUnterschrift", Name
smsEinfügen "smsUnterschriftAbteilung", Abteilung
smsEinfügen "smsEmail", EMail
End If
End Sub
Public Sub smsEinfügen(Textmarke, Variable)
' Prozedur zum Einfügen des Wertes ("Variable") an der entsprechenden Textmarke
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then
Selection.GoTo What:=wdGoToBookmark, Name:=Textmarke
Selection.TypeText Variable
End If
End Sub
Genauso funktioniert das dann auch. Beim öffnen (sub AutoOpen) wird gecheckt wie der aktuelle Pfad der Datei ist (sonst würde ja jedesmal aufs neue alles gefüllt werden und stünde dann doppelt und dreifach drin). Danach wird das Dokument an den gesetzten Textmarken (smsIrgendwas) mit den Daten aus dem AD gefüllt.
Klicke auf Extras dann Makros.
Hier auf Erstellen klicken.
Wechsel in der Baumstruktur links auf Projekt (Name der Datei)
Dann Microsoft Word Oblecte dann ThisDocument.
Hier fügst Du dann den Code auf der rechten Seite ein (Pfade anpassen)
Jetzt musst Du noch die Textmarken (smsAbteilung, etc) in der Worddatei setzen und formatieren.
Ich habe letzeres mit TM-Navigator gemacht. War einfacher (ist ein Pluin für Word)
Hier auf Erstellen klicken.
Wechsel in der Baumstruktur links auf Projekt (Name der Datei)
Dann Microsoft Word Oblecte dann ThisDocument.
Hier fügst Du dann den Code auf der rechten Seite ein (Pfade anpassen)
Jetzt musst Du noch die Textmarken (smsAbteilung, etc) in der Worddatei setzen und formatieren.
Ich habe letzeres mit TM-Navigator gemacht. War einfacher (ist ein Pluin für Word)
Bie smsEinfügen wird folgendes gemacht:
smsEinfügen ruft die Prozedur smsEinfügen auf.
In den Anführungszeichen steht der Name der Textmarke, nach dem Komma die Variable, die Daten enthält.
Die Variblen werden weiter oben mit den Daten aus dem AD gefüttert:
Abteilung = objuser.physicalDeliveryOfficeName
Hier wird die Varible Abteilung mit dem Inhalt der Zeile Büro aus dem AD gefüllt
smsEinfügen ruft die Prozedur smsEinfügen auf.
In den Anführungszeichen steht der Name der Textmarke, nach dem Komma die Variable, die Daten enthält.
Die Variblen werden weiter oben mit den Daten aus dem AD gefüttert:
Abteilung = objuser.physicalDeliveryOfficeName
Hier wird die Varible Abteilung mit dem Inhalt der Zeile Büro aus dem AD gefüllt
Bei mir wollte das mit den mit Bordmitteln erstellten Textmarken zunächst auch nicht funktionieren.
Versuche mal das hier dafür:
http://www.add-in-world.com/katalog/word-textmarken/
Versuche mal das hier dafür:
http://www.add-in-world.com/katalog/word-textmarken/