Q&A

  • 엑셀파일 열어서 저장할때 물어보는 박스 안나오게..
<!--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를 바로 저장하고싶은데 그건 어떻게 해야 하나요?
1  COMMENTS
  • Profile
    최도선 2006.02.28 02:11
    <!--CodeS-->
    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-->
    즐거운 하루되세요 ^^;