传统的方法是创建两个Com组件,如果能创建成功,则说明安装了Excel(或其它软件):方法如下:
var
  EclApp,
  WorkBook    : Variant;
try 
    EclApp := CreateOleObject ('Excel.Application'); 
    WorkBook := CreateOleObject ('Excel.Sheet'); 
except
    ShowMessage ('您的计算机上没有 Microsoft Excel!'); 
    ShowStatus ('', 2); 
    Exit; 
end; ;现在我不想使用该方法,因为它有它的缺点,因为必须要尝试创建
那个OLE,因此想问问大家是否还有更高明的方法,判断该软件是否
已经安装。
谢谢!:)

解决方案 »

  1.   

    其实OLE 也是通过 查注册表 来确定是否有安装该软件。
      如果你不想用OLE 自已去注册表里找。
      

  2.   

    uses comObj, OleCtnrs,Excel97;
    var
      MSExcel: Variant;
    begin
      try
        MSExcel := CreateOleObject('Excel.Application');
      except
        ShowMessage('Could not start Microsoft Excel.');
        Exit;
      end;
    end;
      

  3.   

    还有谁会啊?
    give me some codes.
      

  4.   

    方法一:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      filename:olevariant;
    begin
      if opendialog1.execute then
        filename:=opendialog1.FileName;
      try
        ExcelApplication1.Connect;
      except
        MessageDlg('可能没有安装Excel!',mtError,[mbok],0);
        Abort;
      end;
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(filename,0));
        ExcelWorkSheet1.ConnectTo(ExcelWorkbook1.Worksheets.Item[1] as _WorkSheet);
        ExcelWorkSheet1.Activate;
        ExcelApplication1.Visible[0]:=true;
    end;
      

  5.   

    方法二:
    try
        MSExcel := CreateOleObject('Excel.Application');
        MSExcel.Workbooks.Add;
    except
        Application.MessageBox('没有安装Excel!', '警告信息', mb_OK or mb_iconwaring);
        Exit;
    end;
      

  6.   

    delphi中的控件页中的Servers里面的MS控件(word、excel……)
    的帮助文件或例子程序在哪里可以得到啊?
    我不懂的怎么使用它们,我们知道,在delphi的联机帮助中
    是无法找到它们的,对吧?:)谁帮我呢?