1

我目前正在使用以下代码检查用户计算机上是否存在 Excel 自动化库:

  CoInitialize(nil);
  ExcelExists := true;
  try
    TestExcel := CreateOleObject('Excel.Application');
  except
    ExcelExists := false;
  end;
  if ExcelExists then begin
    TestExcel.Workbooks.Close;
    TestExcel.Quit;
    TestExcel := Unassigned;
  end;

这一直运行良好,直到一个用户只有 Excel 2003。上面的代码说他有 Excel,但是我的 Excel 自动化对他不起作用,我怀疑它也不适用于 Excel 2003 之前的版本。

如何检查安装的 Excel 版本是否为 2007 或更高版本?


根据大卫的回答,我最终把它放在 if ExcelExists 语句之后,它似乎可以完成这项工作:

S := TestExcel.Application.Version;
if (copy(S, 3, 1) <> '.') or (S < '12') then
  ExcelExists := false;

版本 12 是 Office 2007。

4

1 回答 1

4

读取VersionExcelApplication对象的属性。将此与您的代码支持的最小值进行比较。

于 2017-02-15T18:35:49.747 回答