这主要是一个Delphi语法相关的问题。我需要在调用OLE对象的方法时将参数设置为True。
我需要在 Word Automation 中进行设置(来自 Word Reference ):
wdApp.Quit SaveChanges:=wdDoNotSaveChanges
作为一个示例,我想执行以下操作的虚拟程序(请注意 WordApp.Quit!):
Procedure GetWordVersion;
var
WordApp: OLEVariant;
begin
{ Create the OLE Object }
Try
WordApp := CreateOLEObject('Word.Application');
WordVersion := WordApp.version;
WordApp.Quit; // >-- HERE!!!!
except
on E: Exception do
begin
WordVersion := -1;
end;
End;
end;
Here (检查接受的答案)似乎做了同样的事情,但如果我尝试它:无法编译。我在这里只复制相关部分:
Const wdDoNotSaveChanges = 0
[...]
wdo.Quit wdDoNotSaveChanges
[...]
End Function
重要: 而不是使用
// this is from Word Reference
wdApp.Quit SaveChanges:=wdDoNotSaveChanges
可以使用
// from Word Reference
wdApp.NormalTemplate.Saved = True
有人可以修改我上面的 GetWordVersion 过程,以便使用上述两种方法之一吗?谢谢。
最佳答案
你可以写:
Wordapp.Quit(SaveChanges:=wdDoNotSaveChanges);
或者使用这个:
word := CreateOleObject('Word.Application');
....
word.DisplayAlerts := false;
word.Quit;
关于delphi - 如何将参数传递给 OLE 自动化对象(例如 MS Word),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10733158/