sunny89
Goto Top

Makro wird beim öffnen Vorlage nicht ausgeführt

Hallo zusammen,

bastel gerade an einer Word-Vorlage und habe dort eine AD-Abfrage eingefügt. Diese funktioniert auch soweit in der Vorlage selbst. Dort habe ich dann Felder eingefügt und dort die Variablen hinterlegt. Hab die .docm nun zentral abgespeichert und lass die Benutzer das öffnen.

Jetzt geht das Dokument richtig auf aber die Felder sind nicht individuell gefüllt, sondern mit meinen Daten die ich von meinem bneutzer aus der AD ausgelesen habe. Hab auch schon den Marko umbenannt in document_open. Auch ohne Erfolg.

Mir ist aufgefallen das in dem neu erstellten Dokument aus der Vorlage die Felder nicht mehr da sind sondern als reiner Text eingefügt wurden. Ich möchte nun das das Makro ausgeführt wird und die Benutzer das neue Dokument ausgefüllt mit ihren Benutzerdaten bekommen. Hab ich da was übersehen? :S

Liebe Grüße!

Content-ID: 321827

Url: https://administrator.de/contentid/321827

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

Kraemer
Kraemer 23.11.2016 um 11:13:20 Uhr
Goto Top
Moin,

dürfen die Clients denn Makros ausführen oder ist das im Office deaktiviert?

Gruß Krämer
Sunny89
Sunny89 23.11.2016 um 11:14:18 Uhr
Goto Top
Hab auf Testclients "alle Makros ausführen" mal aktiviert (natürlich nur temporär). Geht leider auch nicht face-sad
131381
131381 23.11.2016 aktualisiert um 11:40:31 Uhr
Goto Top
Du verwendest das falsche Event. Du musst das in Private Sub Document_New() Event der Vorlage packen und dann in deinen Makros auf das neu erstellte Dokument (nicht die Vorlage) verweisen.

Gruß
Sunny89
Sunny89 23.11.2016 um 11:45:47 Uhr
Goto Top
Ah okay habe jetzt das angelegt in der Vorlage:

Sub Document_New()
Dim dvVorname               As String
Dim dvInitialen             As String
Dim dvNachname              As String
Dim dvAnzeigename           As String
Dim dvBeschreibung          As String
Dim dvBuero                 As String
Dim dvRufnummer             As String
Dim dvEmail                 As String
Dim dvWebseite              As String
Dim dvStrasse               As String
Dim dvPostfach              As String
Dim dvOrt                   As String
Dim dvBundesland            As String
Dim dvPostleitzahl          As String
Dim dvLand                  As String
Dim dvBenutzeranmeldename   As String
Dim dvRufnummernPrivat      As String
Dim dvRufnummernPager       As String
Dim dvRufnummernMobil       As String
Dim dvRufnummernFax         As String
Dim dvRufnummernIPTelefon   As String
Dim dvAnmerkungen           As String
Dim dvPosition              As String
Dim dvAbteilung             As String
Dim dvFirma                 As String
Dim dvVorgesetzter          As String
Dim dvMitarbeiter           As String
 

Dim varQuery As String
Dim objSystemInfo As Object
Dim objBenutzer As Object

Set objSystemInfo = CreateObject("ADSystemInfo")  
varQuery = "LDAP://" & objSystemInfo.UserName  

Set objBenutzer = GetObject(varQuery)
 

dvVorname = objBenutzer.givenName
dvInitialen = objBenutzer.initials
dvNachname = objBenutzer.sn
dvAnzeigename = objBenutzer.DisplayName
dvBeschreibung = objBenutzer.Description
dvBuero = objBenutzer.PhysicalDeliveryOfficeName
dvRufnummer = objBenutzer.telephoneNumber
dvEmail = objBenutzer.mail
dvWebseite = objBenutzer.wWWHomepage
dvStrasse = objBenutzer.streetAddress
dvPostfach = objBenutzer.postOfficeBox
dvOrt = objBenutzer.l
dvBundesland = objBenutzer.st
dvPostleitzahl = objBenutzer.postalCode
dvLand = objBenutzer.CO
dvBenutzeranmeldename = objBenutzer.sAMAccountName
dvRufnummernPrivat = objBenutzer.homePhone
dvRufnummernPager = objBenutzer.pager
dvRufnummernMobil = objBenutzer.mobile
dvRufnummernFax = objBenutzer.facsimileTelephoneNumber
dvRufnummernIPTelefon = objBenutzer.ipPhone
dvAnmerkungen = objBenutzer.info
dvPosition = objBenutzer.Title
dvAbteilung = objBenutzer.department
dvFirma = objBenutzer.company
dvVorgesetzter = objBenutzer.manager
 

ActiveDocument.Variables("Vorname").Value = dvVorname  
ActiveDocument.Variables("Initialen").Value = dvInitialen  
ActiveDocument.Variables("Nachname").Value = dvNachname  
ActiveDocument.Variables("Anzeigename").Value = dvAnzeigename  
ActiveDocument.Variables("Beschreibung").Value = dvBeschreibung  
ActiveDocument.Variables("Buero").Value = dvBuero  
ActiveDocument.Variables("Rufnummer").Value = dvRufnummer  
ActiveDocument.Variables("Email").Value = dvEmail  
ActiveDocument.Variables("Webseite").Value = dvWebseite  
ActiveDocument.Variables("Strasse").Value = dvStrasse  
ActiveDocument.Variables("Postfach").Value = dvPostfach  
ActiveDocument.Variables("Ort").Value = dvOrt  
ActiveDocument.Variables("Bundesland").Value = dvBundesland  
ActiveDocument.Variables("Postleitzahl").Value = dvPostleitzahl  
ActiveDocument.Variables("Land").Value = dvLand  
ActiveDocument.Variables("Benutzeranmeldename").Value = dvBenutzeranmeldename  
ActiveDocument.Variables("RufnummernPrivat").Value = dvRufnummernPrivat  
ActiveDocument.Variables("RufnummernPager").Value = dvRufnummernPager  
ActiveDocument.Variables("RufnummernMobil").Value = dvRufnummernMobil  
ActiveDocument.Variables("RufnummernFax").Value = dvRufnummernFax  
ActiveDocument.Variables("RufnummernIPTelefon").Value = dvRufnummernIPTelefon  
ActiveDocument.Variables("Anmerkungen").Value = dvAnmerkungen  
ActiveDocument.Variables("Position").Value = dvPosition  
ActiveDocument.Variables("Abteilung").Value = dvAbteilung  
ActiveDocument.Variables("Firma").Value = dvFirma  
ActiveDocument.Variables("Vorgesetzter").Value = dvVorgesetzter  
 
ActiveDocument.Fields.Update
 
End Sub

Wie verweise ich aber auf das neu erstellte Dokument?
131381
131381 23.11.2016 aktualisiert um 11:52:45 Uhr
Goto Top
Zitat von @Sunny89:
Wie verweise ich aber auf das neu erstellte Dokument?
ActiveDocument ist es, das solltest du aber zur Sicherheit am Anfang einer Variablen zuweisen, da sich das gerade aktive Dokument durch den Anwender ändern kann
Sunny89
Sunny89 23.11.2016 um 12:01:36 Uhr
Goto Top
Ich befinde mich hier jetzt in der Vorlage und muss also auf das THISDocument auf das "Normal.dotx" verweisen? :S

unbenannt
131381
Lösung 131381 23.11.2016 aktualisiert um 12:05:52 Uhr
Goto Top
Du bist im falschen Modul. Das Event gehört in den Abschnitt ThisDocument des Templates!!!!!!

screenshot
Sunny89
Sunny89 23.11.2016 um 12:32:10 Uhr
Goto Top
Danke hat einwandfrei geklappt!