Q&A

  • 엑셀과 델파이와 어떤 연관이 있길래 그런가요???
잘 이해가 안되서 이렇게 글을 올립니다.

매번 도움만 요청하는 것 같네요...

다름이 아니라 제가 F1BOOK를 사용하여 엑셀2007에서 작업한 데이터를
F1BOOK에 FILE UPLOAD하여 수정 한 후, 다시 SaveDialog1를 사용하여
엑셀 파일로 내려 받는 PG를 사용하고 있는데요///

EX)
  try
    //엑셀 실행
    XL := CreateOLEObject('Excel.Application');
  except
    MessageDlg('Not being EXCEL...!', MtWarning, [mbok], 0);
    exit;
  end;

  if  Not OpenDialog1.Execute then Exit;

  up_F1Book_Clear;

  XL.Visible := False;                     // 엑셀 프로그램이 보이지 않게 한다.
  XL.Workbooks.Add(OpenDialog1.FileName);  // 특정화일을 open한다.

  F1Book1.TextRC  [li_Row, 01]   := Trim(XL.WorkBooks[1].WorkSheets[1].Cells[li_XlsRow, 01]);
    .
    .
    .

XL.Quit;

위의 코드가 간략한 예)인데, 여기서 문제가 이상하게 그냥 엑셀2007에 작업한 데이터를 열면 아무
문제없이 하나의 엑셀파일이 열리고, 다시 종료하면 제대로 닫히는데요...

이상하게 위의 코드를 통한 엑셀2007에서 작업한 데이터를 F1Book1에 올린 후,  바로 방금 올린
원본 엑셀2007파일을 열면 같은 엑셀파일 2개가 동시에 열리고, 또 이 엑셀파일을 종료하려 하면,
하나의 엑셀파일을 제대로 닫히고, 수정도 안한 똑 같은 2번째 엑셀파일에서는 "다른이름으로 저장 하겠느냐"
라는 팝업이 뜨네요???  어떻게 된거요??? 도와주세요!!!

추가적으로 제가 몇게 테스트해보니, 만약 1번 엑셀파일을 F1Book1에 올린 후, 다음으로 2번째 엑셀파일을
F1Book1에 올리고 나서, 원본 2번 엑셀파일을 열면, 1번 엑셀파일과 2번 엑셀파일이 동시에 열리고, 다시 종료하려 하면, 2번 엑셀파일을 제대로 닫히고 1번 엑셀파일에서 "다른이름으로 저장 하겠느냐" 팝업 창이 띄워
지는 것을 확인 했습니다.

마지막으로 이런 문제점을 처음에 어떻게 발견했냐면, F1Book1에 엑셀2007로 작업한 파일을 올릴 때,
데이터가 다 올라가고 나서 제일 마지막에 "다른이름으로 저장 하겠느냐" 팝업 창이 어느 순간 띄더 군요!
제가 생각컨데 엑셀을 올릴 때는 상관없고, 위의 코드인 XL.Quit;를 시행 할 때 문제점이 발생하는 것 같네요
그래서 프로그램에서 XL.Quit;를 빼고 사용했더니, 프로그램에서는 문제가 없지만 컴퓨터를 종료할 때나,
바로 다른 엑셀파일을 열고 닫을 때 문제점이 계속 발생하더군요///

제발 고수님들 도와주세요!!!
참고로 바이러스나 악성코드 모두 괜찮은 걸로 돌려받는데 문제는 없더라구요
1  COMMENTS
  • Profile
    최용일 2008.10.28 21:24
    아래와 같이 추가해보세요.
    XL.Visible := False;
    XL.DisplayAlerts := False; // 추가