首页 文章

在Delphi中检测Excel的版本

提问于
浏览
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还是更高版本?


根据David的回答,我最终将这个放在if ExcelExists声明后,它似乎完成了这项工作:

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

版本12是Office 2007 .

1 回答

  • 4

    读取Excel Application 对象的Version属性 . 将此值与您的代码支持的最小值进行比较 .

相关问题