我目前正在使用以下代码检查用户计算机上是否存在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。