Q&A

  • 엑셀을 불러와서 그 엑셀안에 값을 넣을려고 합니다.

XLApp := CreateOleObject('Excel.Application');
XLApp.Visible := true;
Sheet := XLApp.WorkBooks.Open(c:\aaa.XLS');
Sheet.cells[1,1] := 'aaa';
Sheet.cells[1,2] := 'bbb';

for i := 0 to query.RecordCount -1 do begin
        for j := 0 to query.FieldCount -1 do begin
            Sheet.Cells[i+2,j+1] := query.Fields[j].AsString;
        end;
        query.Next;
end;

엑셀은 불러오는데 값이 들어가지 않고 다음과 같은 에러가 납니다.
(Method 'cells' not supported by automation object.)

아래와 같이 신규를 열었을때에는 값이 들어갑니다.

XLApp := CreateOleObject('Excel.Application');
XLApp.Visible := true;
XLApp.Workbooks.Add(xlWBatWorksheet);
XLApp.Workbooks[1].WorkSheets[1].Name := '델파이';
Sheet := XLApp.Workbooks[1].WorkSheets['델파이'];
Sheet.cells[1,1] := 'aaa';
Sheet.cells[1,2] := 'bbb';
for i := 0 to query.RecordCount -1 do begin
        for j := 0 to query.FieldCount -1 do begin
            Sheet.Cells[i+2,j+1] := query.Fields[j].AsString;
        end;
        query.Next;
end;

방법좀 알려주세요...
3  COMMENTS