Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.TemplatesPath irgendwie merkwürdig...

Application.TemplatesPath irgendwie merkwürdig...
01.04.2017 12:37:22
Daniel

Hallo Leute
ich habe mir ein wenig die Eigenschaft Application.TemplatesPath angeschaut. Und irgendwie blicke ich grad überhaupt nicht mehr durch.
Folgendes habe ich festgestellt:

  • Application.TemplatesPath zeigt bei mir nicht auf den Template-Ordner von Excel, sondern auf den, welcher in den Optionen von Word eingestellt ist (unter Erweitert/Dateispeicherorte)

  • Application.TemplatesPath ist über die Benutzeroberfläche von Excel nicht einstellbar

  • Application.TemplatesPath steckt in der Registry unter HKCU\Software\Microsoft\Office\16.0\Common\General\UserTemplates

  • Nun, wenn ich in Excel in den Optionen den "Standardspeicherort für persönliche Vorlagen" ändere, dann wird das in der Registry im folgenden Key gespeichert:
    HKCU\Software\Microsoft\Office\16.0\Excel\Options\PersonalTemplates
    Aber dieser Key widerspiegelt sich offensichtlich nicht in einer Eigenschaft des Application-Objekts
    Also Fazit: Application.TemplatesPath gibt gar nicht den Vorlagen-Ordner von Excel, sondern den von Office resp. von Word an (schräg).
    Und der Vorlagenpfad von Excel lässt sich über VBA gar nicht auslesen, sondern nur über die Registry.
    Sieht jemand grad, welchen Überlegungsfehler ich da mache? Was habe ich übersehen?
    Ganz herzlichen Dank und schöne Grüsse
    Daniel

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Application.TemplatesPath irgendwie merkwürdig...
    03.04.2017 10:06:39
    ChrisL
    Hi Daniel
    Gemäss nachstehendem Beitrag wird der Default-Pfad von Excel über Word festgelegt...
    https://www.experts-exchange.com/questions/26432853/Excel-2010-Template-location.html
    (bei mir verweist Excel 2007 übrigens auch auf einen Word-Vorlage-Ordner)
    Ich würde somit schlussfolgern, dass Application.TemplatesPath den richtigen Pfad liefert. Unlogischerweise handelt es sich dabei aber um einen Word-Ordner.
    cu
    Chris
    AW: Application.TemplatesPath irgendwie merkwürdig...
    03.04.2017 20:29:14
    Daniel
    Hallo Chris
    ich konnte nochmals ein wenig testen. Da hat sich offensichtlich seit der Version 2013 was getan.
    Ausgangslage bis zur Version 2010
    Bis zur Version 2010 von Office gab es in Word nur die "Dateispeicherorte..." in den Optionen:
    Userbild
    Nach einer frischen Installation von Office findet sich in der Registry kein konkreter Pfad zu den Templates. Es gibt aber den folgenden Key:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\General\Templates
    

    Darin wird lediglich der UNTER-Ordner des folgenden Roaming-Profil-Ordners definiert:
    C:\Users\Daniel\AppData\Roaming\Microsoft
    

    Unter Office 2003 hiess dieser Key noch "Vorlagen", weil der Unterordner auch "Vorlagen" hiess. Seit Office 2007 heisst der Ordner "Templates".
    Erst, wenn man den Pfad in den Optionen von Word auf etwas anderes ändert (seit Word 2007 unter "Dateispiecherorte..."), erstellt Word einen neuen Registry-Key:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\General\UserTemplates
    

    Und darin steckt der konkrete Ort der Vorlagen drin.
    Bis zur Version 2010 hat auch Excel diesen Ordner für seine Vorlagen verwendet. Das hat prima funktioniert.
    Lage seit Office 2013
    Microsoft hat in Office 20103 in Word und Excel je eine neue Option "Standardspeicherort für persönliche Vorlagen" eingeführt:
    Userbild
    Dieser Eintrag bleibt jedoch vorerst leer. Ebenfalls findet sich in der Registry auch kein Eintrag.
    Sobald man aber das erste Mal unter "Speichern unter..." eine Vorlage auswählt, dann erstellt Word automatisch den folgenden (neuen) Ordner:
    C:\Users\Daniel\Documents\Benutzerdefinierte Office-Vorlagen
    

    Da nehme ich mal an, dass dieser Pfad hart codiert ist. In der Registry konnte ich VOR dem ersten Speichern einer Vorlage diesen Pfad nicht finden.
    Sobald man die erste Vorlage gespeichert hat, ergänzt Word automatisch den Eintrag in den Optionen:
    Userbild
    Dies erzeugt ebenfalls einen neuen Registry-Key:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\General\PersonalTemplates
    

    Neu in dem Sinn, weil es diesen Key bis zur Version 2010 nicht gegeben hat.
    Löscht man übrigens in Word oder Excel den Eintrag "Standardspeicherort für persönliche Vorlagen" wieder, wird auch der Registry-Key entfernt.
    Die Normal.dotm wird lustigerweise (gelegentlich, ich konnte es nicht immer reproduzieren) auch in den neuen Ordner kopiert. Verwendet wird danach jedoch trotzdem die Normal.dotm aus dem ursprünglichen Ordner aus "Dateispeicherorte...".
    Office 2016 zeigt ein identisches Verhalten, soweit ich das sehe.
    Bezug zu VBA und Probleme
    Warum schreibe ich das alles? Einfach, um erstens ein wenig Klarheit zu schaffen, aber auf folgende Stolpersteine hinzuweisen (wobei es gut sein kann, dass ich was übersehen habe).
    1.) Word und Activedocument.AttachedTemplate.Path
    Diese Eigenschaft zeigt grundsätzlich den ursprünglichen Pfad aus den "Dateispeicherorte" an, also der Pfad, der wohl seit 25 Jahren in Word besteht.
    Auch bei Word 2013 und 2016 zeigt die Eigenschaft diesen Pfad an. Ich konnte keine Eigenschaft in einem Objekt (egal ob Application oder ActiveDocument) finden, welche den neuen Pfad aus "Standardspeicherort für persönliche Vorlagen" zeigt.
    2.) Application.TemplatesPath
    Application.TemplatesPath
    
    zeigt ebenfalls den ursprünglichen Pfad aus den "Dateispeicherorte" an. Bis Office 2010 wurde dieser Pfad ja in der Tat noch verwendet, seit 2013 werden die Vorlagen (weder von Word noch von Excel) in diesem Ordner nicht mehr beachtet.
    Fazit
    Vermutlich hat Microsoft mit der Version 2013 gemerkt, dass man die Vorlagen der Applikationen vielleicht gerne getrennt speichern möchte (gilt auf für Powerpoint). Somit haben sie die Option "Standardspeicherort für persönliche Vorlagen" eingeführt.
    Und vermutlich haben sie dabei zwei Sachen vergessen:
    - die Normal.dotm auch zu zügeln (ev. war das auch bewusst, damit sie nicht versehentlich gelöscht wird)
    - die neuen Pfadangaben als Eigenschaft im Objektmodell zu ergänzen
    So, das wärs;). Falls jemand noch was dazu hat, bitte sagen. Und falls ich Blödsinn erzählt habe, bitte auch melden. Bin froh um Input.
    Herzliche Grüsse
    Daniel
    Anzeige
    AW: Application.TemplatesPath irgendwie merkwürdig...
    03.04.2017 23:24:03
    Daniel
    kleiner Vertipper. Unterhalb des letzten Bildes steht:
    Dies erzeugt ebenfalls einen neuen Registry-Key:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\General\PersonalTemplates

    Das stimmt nicht. Der Key "PersonalTemplates" steckt im Ordner der entsprechenden Applikation, also für Word als Beispiel hier:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Word\Options\PersonalTemplates
    

    Sorry für die Verwirrung
    AW: Application.TemplatesPath irgendwie merkwürdig...

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige