代码如下:
var
  app : Variant;
begin
  ole.CreateObject('Excel.Application', True);
  app := ole.OleObject;
  app.workbooks.add;
  app.worksheets.add;
  ole.DoVerb(ovPrimary);
运行到最后一行出错,提示为"不支持的接口",请名位指点一下,谢谢!

解决方案 »

  1.   

    var
      doc,par:variant;
    begin
          OleContainer1.CreateObjectFromFile(tempdocname,false);      OleContainer1.DoVerb(ovPrimary);      doc:=OleContainer1.OleObject;
          doc.paragraphs.add;
          par:=doc.paragraphs.add;
          par.range.text:='ffff';
          doc.Printout;
    end;
      
      这段代码应该可以了
      

  2.   

    var
      doc,par:variant;
    begin
          OleContainer1.CreateObjectFromFile(tempdocname,false); //用tempdocname文件创建OLE对象      OleContainer1.DoVerb(ovPrimary);  //使OLE对象激活      doc:=OleContainer1.OleObject;
          doc.paragraphs.add;
          par:=doc.paragraphs.add;
          par.range.text:='ffff';
          doc.Printout;
    end;
      
      

  3.   

    我的意思是直接创建并激活OLE对象,而不是先生成文件加载后再激活
    如果写成
    var
      app : Variant;
    begin
      ole.CreateObject('Excel.Sheet', True);
      ole.DoVerb(ovPrimary);
    end;
    创建的对象是'Excel.Sheet'就可以,创建的对象是'Excel.Application'就不可以,郁闷……