我用Comobj打开了一个Excel文件,但是我想为该文件增加一个Sheet,应该怎样做?
代码:
  if OpenDialog1.Execute then
  begin
    try
      v:= CreateOleObject('Excel.Application');
      v.Visible := false;
      v.Workbooks.Open(OpenDialog1.FileName);
      v.WorkSheets[1].Activate;
      for i:=1 to 9 do
        v.WorkSheets[1].Insert;//这句话报错
    except
      Showmessage('初始化Excel失败,可能没装Excel,或者其他错误;请重起再试。');
      v.DisplayAlerts := false;
      v.Quit;
      exit;
    end;

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    var v:Variant;
      i: Integer;
    begin
    if OpenDialog1.Execute then
    begin
      try
        v:= CreateOleObject('Excel.Application');
        v.Visible := false;
        v.Workbooks.Open(OpenDialog1.FileName);
        v.Visible:= True;
        v.WorkSheets[1].Activate;
        for i:=1 to 9 do
          v.WorkSheets.add;//这句话对了^_^
      except
        Showmessage('³õʼ»¯Excelʧ°Ü£¬¿ÉÄÜûװExcel£¬»òÕßÆäËû´íÎó£»ÇëÖØÆðÔÙÊÔ¡£');
        v.DisplayAlerts := false;
        v.Quit;
        exit;
        end;
      end;
    end;
      

  2.   

    Foryour(天堂的乞丐) 说的对,我也是出来了,可是有一个新问题,如何把sheet1复制到一个新的sheet[例如名叫sheet2],这该如何写呢?