我用
  aaa := xlapp.workbooks[1].worksheet[1].name; 
这样的语句时会出现Access voilate错误。
那么该怎么写才对呢

解决方案 »

  1.   

    aaa := xlapp.sheets[1].name;
      

  2.   

    noall如能解决,本人另加送一百分
      

  3.   

    要到Excel中VBS的语法,execl97可以查到,execl2000就不能查了
      

  4.   

    看:
       procedure ControlExcel(aFileName,aCaption:string);
       var Sheet: Variant;
          I,SheetID:integer;
          IsFind:Boolean;
       begin
          try
             MyExcelApplication.Connect;
          except
             application.MessageBox('连接Execl失败!,请检查Execl安装与否!','软件');
             Exit;
          end;
          Try
             MyExcelApplication.Visible[0] := true;
             MyExcelApplication.Caption := '我的应用程序调用 Microsoft Excel';
             if fileexists(afilename) then
                MyExcelApplication.Workbooks.Open(afilename,EmptyParam,EmptyParam,
                   EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                   EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,1)
             else
                exit;
             IsFind:=False;
             for i:=1 to MyExcelApplication.Worksheets.Count do
             begin
                Sheet:=MyExcelApplication.Worksheets.Item[i];
                if uppercase(sheet.name)=uppercase(acaption){查一个比较字符串函数} then
                begin
                   IsFind:=True;
                   Break;
                end;
             end;
             if not IsFind then{没有打到相对应的页}
             begin
                MyExcelApplication.Worksheets.Add(EmptyParam,EmptyParam,1,EmptyParam,1);
                SheetID:=MyExcelApplication.Worksheets.Count;
                sheet:=MyExcelApplication.Worksheets.Item[sheetid];
                sheet.name:=aCaption;
             end else
                SheetID:=I;
             sheet.Cells[2,4].Value:=acaption;//'第一行第四列';
             MyExcelApplication.DisplayAlerts[1]:=false;
             MyExcelApplication.Workbooks[1].Close(true, afilename, false,Sheetid);
          finally
             MyExcelApplication.Disconnect;
             MyExcelApplication.Quit;
          end;
       end;//procedure