这主要是与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;

09-25 17:42