【发布时间】:2020-06-23 03:35:56
【问题描述】:
我编写小代码来更新 CustomDocumentProperties。
但在保存文件并退出后。道具没有保存为文档的一部分? 可能吗? 如果是这样?正确的做法是什么?
感谢您的提前。
Var
Doc : OleVariant;
DocProps : OleVariant;
Item : OleVariant;
i : integer;
Value : string;
SaveChanges: OleVariant;
begin
Memo1.Lines.Clear;
WordApplication1.Connect;
WordApplication1.Visible := false;
WordApplication1.Documents.Open(Edit1.Text, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Doc := WordApplication1.ActiveDocument;
DocProps := Doc.CustomDocumentProperties;
DocProps.Add(
'MyOpinionOfThisDocument2',
False, msoPropertyTypeString,
'Utter drivel', EmptyParam);
DocProps.Add(
'Mz_Ident2',
False, msoPropertyTypeString,
'1997', EmptyParam);
for I := 1 to DocProps.Count do // Iterate
begin
Item := DocProps.Item[i];
Memo1.Lines.Add(Item.name + ' = ' + item.value);
end;
SaveChanges := wdSaveChanges;
WordApplication1.Quit(SaveChanges, EmptyParam, EmptyParam);
WordApplication1.Disconnect;
end;
【问题讨论】:
-
在退出 Word 之前,您是否尝试过在 Doc 对象上显式调用 Save?
-
是的。我试过了。没有帮助。
标签: delphi properties ms-word document