4

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

在这里(检查接受的答案)似乎做了同样的事情,但如果我尝试它:不编译。我在这里只复制相关部分:

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 程序,以便使用上述两种方法中的任何一种吗?谢谢。

4

1 回答 1

8

你可以写:

Wordapp.Quit(SaveChanges:=wdDoNotSaveChanges);

或者使用这个:

word := CreateOleObject('Word.Application'); 

.... 
word.DisplayAlerts := false;
word.Quit; 
于 2012-05-24T07:56:06.683 回答