<!--CodeS-->
MyExcel := CreateOLEObject('Excel.Application');
MyExcel.Workbooks.Open[StrPas(Path) + '\book.xls'];
procedure TForm1.Button1Click(Sender: TObject);
begin
MyExcel.worksheets['Sheet1'].Cells.Item[4, 2].value :=Edit1.Text;
MyExcel.worksheets['Sheet1'].Cells.Item[4, 3].value :=Edit2.Text;
end;
MyExcel.quit;
<!--CodeE-->
간단한 구조는 위 코드와 같습니다.
우선 문제는, 저렇게 해서 엑셀파일 일부를 수정한 후에 MyExcel.quit 하게되면 엑셀에서 '저장하시겠습니까?'라고 물어보네요;
MyExcel.workbooks.close(TRUE);라고 했더니 매개변수가 잘못됐다고 나오구요
알아서 저장하고 끝내게 하려면 어떻게 해야 하나요?
그리고, Button1이 눌렸을때 현재 읽고있는 workbook을 끝내지 않고 변경된 Row를 바로 저장하고싶은데 그건 어떻게 해야 하나요?
MyExcel := CreateOLEObject('Excel.Application');
MyworkBook := MyExcel.Workbooks.Open(StrPas(Path) + '\book.xls');
<!--CodeE-->
"저장하겠습니까"와 같은 Alert를 안보이게 하려면,
<!--CodeS-->
MyExcel.DisplayAlerts := false;
<!--CodeE-->
Workbook을 닫으려면,
<!--CodeS-->
MyWorkBook.Close(true); // 저장하고 닫힙니다.
<!--CodeE-->
WorkBook를 바로 저장하려면,
<!--CodeS-->
MyWorkBook.SaveAs(StrPas(Path) + '\book.xls');
<!--CodeE-->
즐거운 하루되세요 ^^;