Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Word Vorlagenordner ermitteln (https://www.delphipraxis.net/170085-word-vorlagenordner-ermitteln.html)

knochen 30. Aug 2012 08:47

Word Vorlagenordner ermitteln
 
Hallo zusammen,

weiß jemand, wie man in Delphi den Word Vorlagenordner ermitteln kann? Das ist der Ordner, in dem Word die dot/ dotm Dateien speichert. Auf meinem Rechner heißt der Ordner C:\Users\MeinName\AppData\Roaming\Microsoft\Templa tes.
Abhängig von Wordversion und Betriebssystem kann der Ordner jedoch anders heißen.

Danke für jede Info,
Knochen

Bummi 30. Aug 2012 09:55

AW: Word Vorlagenordner ermitteln
 
http://support.microsoft.com/kb/924460/de

knochen 30. Aug 2012 11:24

AW: Word Vorlagenordner ermitteln
 
Vielen Dank für die schnelle Antwort, Bummi.

Die Info ist interessant, aber nicht das, was ich suche.
Unsere Kunden haben Windows ab Version 2000 und Word ab Version 2000. Von da an sind alle Kombinationen bis zur aktuellen Word- bzw. Windowsversion möglich. Mit den Infos unter dem angegeben Link ist mir das ehrlich gesagt zu viel Arbeit, vom Testaufwand mal ganz zu schweigen. Ich muss den Benutzernamen ermitteln, die Windowsversion, die Windowssprachversion (deutsch, englisch oder was sonst noch), muss umfangreiche andere Fallunterscheidungen treffen (hat der USer den Ort geändert, hat der Admin durch eine Policy den Ort geändert etc.) und bin damit vortrefflich einige Tage ausgelastet.

Gibt es da nichts Fertiges? Für Delphi???

Grüße,
Knochen

Bummi 30. Aug 2012 11:43

AW: Word Vorlagenordner ermitteln
 
Mach was fertiges für Delphi :wink: ...
Nein, im Ernst, mir ist nichts bekannt ...

p80286 30. Aug 2012 13:34

AW: Word Vorlagenordner ermitteln
 
Hast du es mal mit
Delphi-Quellcode:
CSIDL_TEMPLATES
versucht?
Delphi-Quellcode:
retcode:=SHGetFolderPath(0,CSIDL_TEMPLATES,0,SHGFP_TYPE_CURRENT,path);

Gruß
K-H

p.s.
funktioniert auch noch unter W7

Dalai 30. Aug 2012 15:15

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von p80286 (Beitrag 1180677)
Hast du es mal mit
Delphi-Quellcode:
CSIDL_TEMPLATES
versucht?
Delphi-Quellcode:
retcode:=SHGetFolderPath(0,CSIDL_TEMPLATES,0,SHGFP_TYPE_CURRENT,path);

Das sollte funktionieren, allerdings gibt es zwei Template-Verzeichnisse und entsprechend auch zwei Konstanten:
Delphi-Quellcode:
CSIDL_COMMON_TEMPLATES = $002D; // C:\Documents and Settings\All Users\Templates\
CSIDL_TEMPLATES = $0015; // C:\Documents and Settings\{USER NAME}\Templates\
MfG Dalai+

RWarnecke 30. Aug 2012 15:30

AW: Word Vorlagenordner ermitteln
 
Ich habe keinen Rechner zur Hand. aber hast Du Dir schon mal die Registry angeschaut ? Schaue mal unter HKCU nach wo die Office Installation Ihre Keys setzt. Da sollte es einen Oder mehrere Keys geben, wo die ganzen Vorlagenpfade drinstehen.

knochen 31. Aug 2012 12:13

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von Dalai (Beitrag 1180702)
Zitat:

Zitat von p80286 (Beitrag 1180677)
Hast du es mal mit
Delphi-Quellcode:
CSIDL_TEMPLATES
versucht?
Delphi-Quellcode:
retcode:=SHGetFolderPath(0,CSIDL_TEMPLATES,0,SHGFP_TYPE_CURRENT,path);

Das sollte funktionieren, allerdings gibt es zwei Template-Verzeichnisse und entsprechend auch zwei Konstanten:
Delphi-Quellcode:
CSIDL_COMMON_TEMPLATES = $002D; // C:\Documents and Settings\All Users\Templates\
CSIDL_TEMPLATES = $0015; // C:\Documents and Settings\{USER NAME}\Templates\
MfG Dalai+

Das ist es auch nicht. Das liefert den Template-Ordner von Windows (was auch immer da drin steht...) Gesucht ist der Template-Ordner von Word.


Zitat:

Zitat von RWarnecke (Beitrag 1180704)
Ich habe keinen Rechner zur Hand. aber hast Du Dir schon mal die Registry angeschaut ? Schaue mal unter HKCU nach wo die Office Installation Ihre Keys setzt. Da sollte es einen Oder mehrere Keys geben, wo die ganzen Vorlagenpfade drinstehen.

Da steht nur etwas, wenn der Standard vom User verändert wurde.

Sorry, dann scheint's wohl wirklich nicht oder nur mit Aufwand zu gehen. Aufwand ist nicht akzeptabel. Mein Chef sieht's nicht gern, wenn ich mich auf Nebenschauplätzen tummle. Aber vielen Dank für eure Mühe.

Dalai 31. Aug 2012 16:06

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von knochen (Beitrag 1180845)
Das ist es auch nicht. Das liefert den Template-Ordner von Windows (was auch immer da drin steht...) Gesucht ist der Template-Ordner von Word.

Ähm, Office verwendet das Template-Verzeichnis des Systems. Oder woran machst du das fest, die wären verschieden?

MfG Dalai

knochen 3. Sep 2012 08:32

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von Dalai (Beitrag 1180888)
Zitat:

Zitat von knochen (Beitrag 1180845)
Das ist es auch nicht. Das liefert den Template-Ordner von Windows (was auch immer da drin steht...) Gesucht ist der Template-Ordner von Word.

Ähm, Office verwendet das Template-Verzeichnis des Systems. Oder woran machst du das fest, die wären verschieden?

MfG Dalai

Das mache ich daran fest, dass die Normal.dotm (die auch benutzt wird und die Einzige diser Art auf meinem Rechner ist) im Ordner
C:\Users\Knochen\AppData\Roaming\Microsoft\Templat es
zu finden ist.

Der Templateordner von Windows ist jedoch
C:\Users\Knochen\AppData\Roaming\Microsoft\Windows \Templates

Der Gedanke aber nahe. Trotz der Ähnlichkeit dieser beiden Ordner ist das Ergebnis nicht zu verwenden. Von einer Lösung, die mit unterschiedlichen Word/ Windows-Kombinationen funktioniert, ist sie weit entfernt.

LEIDER!

Grüße,
Knochen

nahpets 3. Sep 2012 10:48

AW: Word Vorlagenordner ermitteln
 
Hallo,

die Verzeichnisse muss man sich (vermutlich) zusammensuchen.

Unter HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\C ommon\General findest Du grundsätzliche Einstellungen. Ich weiß nicht, ob sich das zwischen den Versionen grundlegend unterscheidet. 11.0 ist hier Word 2003. Dort steht im Schlüssel SharedTemplates der Pfad zu den Arbeitsgruppenvorlagen.
Der Standard für die Benutzervorlagen scheint c:\Dokumente und Einstellungen\benutzername\Anwendungsdaten\Microso ft\Vorlagen (XP und Word 2003) zu sein. Hat der Benutzer sein eigenes Vorlagenverzeichnis gewählt, so findest Du es unter UserTemplates. Andernfalls scheint es über die Werte für den Pfad zum Benutzerprofil und die Schlüssel ApplicationData plus Microsoft (als Textkonstante) plus Templates gebildet zu werden.
Nach der Ermittlung der Word-/Officeversion müssen (vermutlich) nur zwei Schlüssel gelesen werden, die für den Pfad zu den Vorlagen infrage kommen könnten. Sind dort keine Informationen zu ermitteln ist der oben beschriebene Vorgabepfad zu bilden.

knochen 3. Sep 2012 12:56

AW: Word Vorlagenordner ermitteln
 
Danke.

Dalai 3. Sep 2012 23:00

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von knochen (Beitrag 1181159)
Das mache ich daran fest, dass die Normal.dotm (die auch benutzt wird und die Einzige diser Art auf meinem Rechner ist)[...]

Die normal.dot(m) ist doch keine Vorlagendatei für neue Word-Dokumente. In der normal.dot(m) stehen bestimmte Einstellungen von Word, wie ein Artikel in der MS KB erklärt. Die Vorlage für neue Word-Dokumente heißt Winword#.doc (das # steht dabei für eine Nummer) und liegt normalerweise im Verzeichnis %SystemDrive%\Windows\ShellNew (bei XP, XP64 und Win7x64, mit Office 2000 bzw. 2003). Ich nehme sehr stark an, dass sich in den neueren Office-Versionen diesbzgl. nichts geändert hat.

Ob man an dieses Verzeichnis über eine API-Funktion rankommt, weiß ich allerdings nicht.

MfG Dalai

knochen 4. Sep 2012 08:46

AW: Word Vorlagenordner ermitteln
 
Zitat:

Zitat von Dalai (Beitrag 1181373)
Die normal.dot(m) ist doch keine Vorlagendatei für neue Word-Dokumente. In der normal.dot(m) stehen bestimmte Einstellungen von Word, wie ein Artikel in der MS KB erklärt.

Der erste Satz in besagtem Artikel lautet: "This article discusses how Microsoft Word 2003 searches for its Normal.dot global template." Weil ich meinen Englischkenntnissen grundsätzlich misstraue, hier die GoogleTranslator Übersetzung: "Dieser Artikel beschreibt, wie Microsoft Word 2003 sucht seine globalen Vorlage Normal.dot." Vorlage oder nicht, das steht für mich außer Frage.


Zitat:

Zitat von Dalai (Beitrag 1181373)
Die Vorlage für neue Word-Dokumente heißt Winword#.doc (das # steht dabei für eine Nummer) und liegt normalerweise im Verzeichnis %SystemDrive%\Windows\ShellNew (bei XP, XP64 und Win7x64, mit Office 2000 bzw. 2003). Ich nehme sehr stark an, dass sich in den neueren Office-Versionen diesbzgl. nichts geändert hat.

Ob man an dieses Verzeichnis über eine API-Funktion rankommt, weiß ich allerdings nicht.

MfG Dalai

Eine Winword#.doc gibt es auf meinem Rechner nicht (Win7 64, Word 2010). Es gibt sie auf einer VM mit XP und Word2000, auf einer weiteren mit XP und Word2003, und auf einer mit XP und Word2007. Das ist aber nicht Thema dieses Threads.

Lieber Admin, kannst du den Thread bitte schließen? Ich glaube, das bringt hier nichts mehr. Wir verlieren uns in Nebenschauplätzen und Vermutungen. Trotzdem vielen Dank für eure Vorschläge.
LG, Knochen


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz