delphi - 如何将参数传递给 OLE 自动化对象(例如 MS Word)

标签 delphi ms-word ole-automation

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

相关文章:

excel - 如何为 Excel 工作表中的顶行启用自动筛选?

delphi - 在 Delphi 中将 Widechar 代码点的十六进制字符串表示形式转换为 Widechar

python - 通过pywin32将pandas数据框写入word文档表

java - 如何使用 Java 根据 wml.xsd 验证 Word 2007 文件?

ms-word - URI 方案 ms-word :nft|u| not working and not opening word

delphi - 如何使用 OpenOffice oleautomation 选择要打印到的打印机?

windows - 构建 MFC 自动化示例(使用 OLE 自动化访问 Excel)。无法编译

delphi - TAction 是通过什么方式被触发的?

delphi - 基于 key 的简单文本文件加密

Delphi TClientDataSet 使用 LIKE 和 foCaseInsensitive 进行过滤