M
MSCom
Neuer Benutzer
Threadstarter
- Dabei seit
- 20.09.2016
- Beiträge
- 1
Hallo an alle,
mein Problem ist folgendes: Ich habe zwei kleine Makros geschrieben, die in einer eigenen Vorlage (Makros1.dotm) gespeichert sind. Die Makros sollen beim Starten von Word zur Verfügung stehen und zwar allen Benutzern unseres Netzwerks.
Die Datei ist im Startup-Ordner von Word gespeichert, sie wird auch geladen, aber die Makros stehen nicht zur Verfügung, die Vorlage ist gesperrt. Was mache ich falsch?
Der Code:
Public Sub FelderLeeren()
ActiveDocument.Variables("Anzeigename").Delete
ActiveDocument.Variables("Rufnummer").Delete
ActiveDocument.Variables("Email").Delete
ActiveDocument.Variables("Fax").Delete
ActiveDocument.Variables("Position").Delete
'Felder aktualisieren
ActiveDocument.Fields.Update
ActiveDocument.Variables("Anzeigename").Value = " - "
ActiveDocument.Variables("Rufnummer").Value = " - "
ActiveDocument.Variables("Email").Value = " - "
ActiveDocument.Variables("Fax").Value = " - "
ActiveDocument.Variables("Position").Value = " - "
' und nochmals alle Felder aktualisieren
ActiveDocument.Fields.Update
End Sub
Public Sub ADTest()
' dv steht für Docvariable - das sind die Felder im eigentlichen Word-Dokument
Dim dvAnzeigename As String
Dim dvRufnummer As String
Dim dvEmail As String
Dim dvPosition As String
Dim dvRufnummernfax As String
'Variablen für AD-Abfrage
Dim varQuery As String
Dim objSystemInfo As Object
Dim objBenutzer As Object
' Active Directory Informationen des angemeldeten Benutzers lesen
Set objSystemInfo = CreateObject("ADSystemInfo")
varQuery = "LDAP://" & objSystemInfo.UserName
Set objBenutzer = GetObject(varQuery)
' Jetzt werden die Variablen/Werte definiert
dvAnzeigename = objBenutzer.DisplayName
dvRufnummer = objBenutzer.telephoneNumber
dvEmail = objBenutzer.mail
dvRufnummernFax = objBenutzer.facsimileTelephoneNumber
dvPosition = objBenutzer.Title
If dvRufnummernFax = "" Then
ActiveDocument.Variables("Fax").Value = "+XXX"
Else
ActiveDocument.Variables("Fax").Value = dvRufnummernFax
End If
' füllen der DocVariablen im Dokument mit den Werten
ActiveDocument.Variables("Anzeigename").Value = dvAnzeigename
ActiveDocument.Variables("Rufnummer").Value = dvRufnummer
ActiveDocument.Variables("Email").Value = dvEmail
ActiveDocument.Variables("Position").Value = dvPosition
ActiveDocument.Fields.Update
End Sub
Noch eine Info: Die Normal.dotm ist schreibgeschützt.
LG
mein Problem ist folgendes: Ich habe zwei kleine Makros geschrieben, die in einer eigenen Vorlage (Makros1.dotm) gespeichert sind. Die Makros sollen beim Starten von Word zur Verfügung stehen und zwar allen Benutzern unseres Netzwerks.
Die Datei ist im Startup-Ordner von Word gespeichert, sie wird auch geladen, aber die Makros stehen nicht zur Verfügung, die Vorlage ist gesperrt. Was mache ich falsch?
Der Code:
Public Sub FelderLeeren()
ActiveDocument.Variables("Anzeigename").Delete
ActiveDocument.Variables("Rufnummer").Delete
ActiveDocument.Variables("Email").Delete
ActiveDocument.Variables("Fax").Delete
ActiveDocument.Variables("Position").Delete
'Felder aktualisieren
ActiveDocument.Fields.Update
ActiveDocument.Variables("Anzeigename").Value = " - "
ActiveDocument.Variables("Rufnummer").Value = " - "
ActiveDocument.Variables("Email").Value = " - "
ActiveDocument.Variables("Fax").Value = " - "
ActiveDocument.Variables("Position").Value = " - "
' und nochmals alle Felder aktualisieren
ActiveDocument.Fields.Update
End Sub
Public Sub ADTest()
' dv steht für Docvariable - das sind die Felder im eigentlichen Word-Dokument
Dim dvAnzeigename As String
Dim dvRufnummer As String
Dim dvEmail As String
Dim dvPosition As String
Dim dvRufnummernfax As String
'Variablen für AD-Abfrage
Dim varQuery As String
Dim objSystemInfo As Object
Dim objBenutzer As Object
' Active Directory Informationen des angemeldeten Benutzers lesen
Set objSystemInfo = CreateObject("ADSystemInfo")
varQuery = "LDAP://" & objSystemInfo.UserName
Set objBenutzer = GetObject(varQuery)
' Jetzt werden die Variablen/Werte definiert
dvAnzeigename = objBenutzer.DisplayName
dvRufnummer = objBenutzer.telephoneNumber
dvEmail = objBenutzer.mail
dvRufnummernFax = objBenutzer.facsimileTelephoneNumber
dvPosition = objBenutzer.Title
If dvRufnummernFax = "" Then
ActiveDocument.Variables("Fax").Value = "+XXX"
Else
ActiveDocument.Variables("Fax").Value = dvRufnummernFax
End If
' füllen der DocVariablen im Dokument mit den Werten
ActiveDocument.Variables("Anzeigename").Value = dvAnzeigename
ActiveDocument.Variables("Rufnummer").Value = dvRufnummer
ActiveDocument.Variables("Email").Value = dvEmail
ActiveDocument.Variables("Position").Value = dvPosition
ActiveDocument.Fields.Update
End Sub
Noch eine Info: Die Normal.dotm ist schreibgeschützt.
LG