Hallo
binio,
Zitat von
binio:
habe das Problem das wenn ich CreateOleObject('word.application'); auffrufe um von Word den Pfad von den Vorlagen zu erfahren im Hintergund immer WinWord gestartet wird und es mir verweigert *.dot Daten im Vorlagenverzeichnis zu löschen.
was meinst du macht CreateOleObject('word.application');? Es öffnet Word, also ist doch klar das das dann im Hintergrund läuft. Das du dann keinen Zugriff auf bestimmte (geladenene) *.dot Dateien hast ist auch klar, du kannst keine geöffneten Dateien löschen. Das ist allgemein unter Windows so.
Ich habe noch nicht so ganz verstanden was du eigentlich vorhast...
Zugriff über CreateOleObject:
Delphi-Quellcode:
uses ComObj;
function GetVorlagenPfad:string;
var Word:OleVariant;
begin
Word:=CreateOleObject('word.application');
try
Result:=Word.Options.DefaultFilePath[2];
finally
Word.Quit;
end;
end;
Ich weiss nicht ob bei der
PE auch der Server-Komponenten-Reiter vorhanden ist. Dort gibt es eine TWordApplication-Komponente.
Zugriff über TWordApplication:
Delphi-Quellcode:
uses WordXP; // kann eventuell auch anders heissen
function GetVorlagenPfad:string;
var Word:TWordApplication;
begin
Word:=TWordApplication.Create(Self);
try
Word.Connect;
Result:=Word.Options.DefaultFilePath[wdUserTemplatesPath];
finally
Word.Disconnect;
Word.Quit;
Word.free;
end;
end;
Der Vorteil wenn du über TWordApplication gehen kannst ist, dass die Word-Konstanten in Delphi definiert sind und du so wesentlich leichter an die Kontentenwerte rankommst.
Gruss
Thorsten