同样是操作EXCEL为何一个没有问题,一个报错?(200分)

  • 主题发起人 主题发起人 笨笨了
  • 开始时间 开始时间

笨笨了

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TFtj.SpeedButton13Click(Sender: TObject);
var
MSExce3: Variant;
i,j: Integer;
begin
OpenDialog1.Filter:='*.XLS|*.XLS';
OpenDialog1.DefaultExt:='XLS';
if OpenDialog1.Execute then
begin
MSExce3:=CreateOLEObject('Excel.Application');
MSExce3.WorkBooks.Add;
for i:=0 to SG1.RowCount-1 do
for j:=0 to SG1.ColCount-1 do
MSExce3.Cells[i+1,j].Value:=SG1.Cells[j,i];
MSExce3.ActiveWorkbook.SaveAs(OpenDialog1.FileName);
MSExce3.ActiveWorkBook.Close;
MSExce3.Quit;
end;
end;

就这两段基本一样的代码,在两个不同的地方,一个很好,另外一个却报:OLE error 800A03CE 错误。却是为何???
 
MSExce3.Cells[i+1,j].Value:=SG1.Cells[j,i]; 注意这一行,MSExce3.Cells的下标要从1开始,你的j从0开始是不行的
 
呵呵~~犯了如此低级的错误,汗颜啦~~~发分了
 
接受答案了.
 
后退
顶部