我需要能够从 Delphi 打开和编辑 Word 模板(使用 Word) 我可以打开模板 OK 但 Word 假定它是文档而不是模板。
问题是我需要编辑模板而不是将其用作新文档的模板。我将模板用作文档处理系统的一部分,并且我希望用户能够从我的应用程序中编辑模板。因为现在他们必须打开 Word,然后从那里打开模板并进行编辑——从我的应用程序中进行操作会更容易、更安全。
实验代码
fWordApp: WordApplication;
TempName: OleVariant;
WordDoc: WordDocument;
TemplateFile: string;
begin
TemplateFile := Settings.Directories.RootInsert(qryTemplates.FieldByName('fldtemplate_path').AsString);
if TemplateFile <> '' then
begin
if not Assigned(fWordApp) then
begin
fWordApp := CreateOleObject('Word.Application') as WordApplication;
while fWordApp.Templates.Count = 0 do
Sleep(200); // Normal.dot must be loaded
end;
if Assigned(fWordApp) then
fWordApp.Visible := True
else
raise Exception.Create('Cannot initialize Word application');
TempName := TemplateFile;
WordDoc := fWordApp.Documents.Add(TempName, EmptyParam, wdFormatTemplate, EmptyParam);