Excelがなかったら


のこ  2002-11-02 21:27:48  No: 1945

はじめまして、Delphiはじめてから2ヶ月の、のこ、と申します。

さっそくですが、StringGridからExcelにデータを出力するプログラムを
作っていたんですが、もし、相手先のPCにExcelがインストールされて
いなかった場合、このプログラムを割り当てているボタンを使用不可したい
と考えております。
いろいろ調べたんですが、見当がつきません。ご指導のほどよろしくお願いします。


にしの  2002-11-03 01:52:18  No: 1946

出力するのはCreateObjectでExcel.Applicationを作ってやるんですよね。
CreateObjectに失敗したらインストールされていない、とするのはだめですか?
もしくは、レジストリで
\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\EXCEL.EXE
があるか調べるとか。
レジストリは削除されたらないことになってしまいますが、Excel実行時に再作成されているはずです。


WINK  2002-11-03 02:29:41  No: 1947

レジストリを調べる方は、確実性がないと思いますが。
Win98SE + Excel2000で、
\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\
以下に、EXCEL.EXEはありません。


にしの  2002-11-03 02:45:17  No: 1948

それでは、
\HKEY_CLASSES_ROOT\Applications
にも、EXCEL.EXEはありませんか?
今環境がWindowsXP Professionalしかないので、他の環境はわかりません。
もしかしたら、これも含めて、レジストリから取得できるのはXPだけかもしれません。ZDNETのTipsでも、XPのものしか見つかりませんでした。
曖昧な情報ですみません。
やはり、CreateObjectの成功か失敗かで判断したほうが確実かと。


のこ  2002-11-03 14:46:26  No: 1949

にしのさん、WINKさん、ありがとうございます。
起動するとき、EXCEL.EXEを探して、インストールされているかどうか
調べてボタンを使用不可にできればいいなぁ〜と考えていたんですが
CreateObjectに失敗したら、メッセージを出す方法、一度やってみます。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加