0
私は現在、Excelのオートメーションライブラリは、ユーザーのコンピュータ上に存在するかどうかを確認するには、次のコードを使用しています
でExcelのバージョンを検出:1ユーザーのみが2003エクセル持っていたまで、これが正常に動作しているデルファイ
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を持っていると言っていますが、私のExcelの自動化は彼のためには機能しませんし、Excel 2003より前のバージョンではうまく機能しません。
インストールされているExcelのバージョンが2007以降であることを確認するにはどうすればよいですか?デビッドの答えに基づいて
、私は、もしExcelExists文の後にこれを入れてしまった、仕事をしているようだ:
S := TestExcel.Application.Version;
if (copy(S, 3, 1) <> '.') or (S < '12') then
ExcelExists := false;
バージョン12のOffice 2007
バージョンプロパティを使用しても問題ありません。バージョン12はExcel 2007です.v12では、主に国際化や言語などのオートメーション関連のものがいくつか変更されています。しかし、私はなぜExcel 2003が動作しないのだろうと思っています。 1995年以来、私たちはExcelとのオートメーションを使用しました。そして、あなたの事例のように、ワークブックを閉じて終了するようなすべての基本的なことが同じように機能します。 –