繁体   English   中英

在Delphi中检测Excel版本

[英]Detect Version of Excel in Delphi

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

  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。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM