LaB*_*cca 4 delphi ms-word ole-automation
这主要是与Delphi语法相关的问题.我需要在调用OLE对象的方法时将参数设置为True.
我需要在Word Automation中设置(这是来自Word Reference):
wdApp.Quit SaveChanges:=wdDoNotSaveChanges
Run Code Online (Sandbox Code Playgroud)
作为一个例子我想做的虚拟程序(请注意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;
Run Code Online (Sandbox Code Playgroud)
在这里(检查接受的答案)似乎完成了相同的事情,但如果我尝试它:不编译.我这里只复制相关部分:
Const wdDoNotSaveChanges = 0
[...]
wdo.Quit wdDoNotSaveChanges
[...]
End Function
Run Code Online (Sandbox Code Playgroud)
重要提示:而不是使用
// this is from Word Reference
wdApp.Quit SaveChanges:=wdDoNotSaveChanges
Run Code Online (Sandbox Code Playgroud)
可以使用
// from Word Reference
wdApp.NormalTemplate.Saved = True
Run Code Online (Sandbox Code Playgroud)
任何人都可以修改我上面的GetWordVersion程序,以便使用上述两种方法中的任何一种吗?谢谢.
你可以写:
Wordapp.Quit(调用SaveChanges:= wdDoNotSaveChanges);
或者用这个:
word := CreateOleObject('Word.Application');
....
word.DisplayAlerts := false;
word.Quit;
Run Code Online (Sandbox Code Playgroud)