【发布时间】:2012-11-15 11:24:33
【问题描述】:
在我的程序中,我必须加载一个 excel 文件。此文件可以具有以下扩展名:[.xls][.xlsx][.xlsm][.xlsb]。
Excel07+ 可以自然处理所有这些问题,但要在 Excel2003 中使用 [.xlsx][.xlsm][.xlsb],您必须安装 http://www.microsoft.com/en-us/download/details.aspx?id=3
这是我的代码来确定,安装了哪个 excel 版本。问题:我不知道如何确定是否安装了兼容包(标记为 +++)
if (ExtractFileExt(sFileNameVorlage) = '.xlsx') or
(ExtractFileExt(sFileNameVorlage) = '.xlsm') or
(ExtractFileExt(sFileNameVorlage) = '.xlsb') then
begin
//determine version of excel (lower or equal 2003 )
if StrToInt(Copy(oVersionscheck.version,1,2)) <= 11 then
begin
// equal 2003
if StrToInt(Copy(oVersionscheck.version,1,2)) = 11 then
if not +++compatibility pack installed?+++ then
begin
ShowMessage('Warning: Excel can´t open this file.');
oVersionscheck.Quit;
oVersionscheck := unassigned;
Exit;
end;
end;
oVersionscheck.Quit;
end;
也许有人知道解决方案。
【问题讨论】:
标签: excel-2007 excel-2003 file-extension delphi-5 early-binding