Q&A

  • 예외상황 처리
dbgrid의 내용을 엑셀의 saveas로저장했습니다.

procedure

var

workbook : Variant;

begin

....

....

workbook := XL.WorkBooks.Add; //새로운 페이지 생성

.....

.....

workbook.saveas(abc.xls); //파일저장



그런데 기존에 파일이 있는 경우 재저장할것인지를 물어오면

'예(yes)'를 클릭하면 문제가 없이 파일을 엎어씌우는데(저장잘됨)

'아니오(no)'를 클릭하면 다음과 같은 에러가 뜹니다.

_______________



Project aa.exe raised exception class EOleException with message 'Workbook클래스 중 SaveAs메서드에 오류가 있습니다'.Process stopped. Use Step or Run to continue.

________________

라고 뜹니다.

예외상황 처리라든가 어떤 방법이 있는지를 알고 싶습니다.

빨랑 좋은 답변을 바랍니다...부탁해요



2  COMMENTS
  • Profile
    최석기 2000.07.22 03:15
    김다음 wrote:

    > dbgrid의 내용을 엑셀의 saveas로저장했습니다.

    > procedure

    > var

    > workbook : Variant;

    > begin

    > ....

    > ....

    > workbook := XL.WorkBooks.Add; //새로운 페이지 생성

    > .....

    > .....

    > workbook.saveas(abc.xls); //파일저장

    >

    > 그런데 기존에 파일이 있는 경우 재저장할것인지를 물어오면

    > '예(yes)'를 클릭하면 문제가 없이 파일을 엎어씌우는데(저장잘됨)

    > '아니오(no)'를 클릭하면 다음과 같은 에러가 뜹니다.

    > _______________

    >

    > Project aa.exe raised exception class EOleException with message 'Workbook클래스 중 SaveAs메서드에 오류가 있습니다'.Process stopped. Use Step or Run to continue.

    > ________________

    > 라고 뜹니다.

    > 예외상황 처리라든가 어떤 방법이 있는지를 알고 싶습니다.

    > 빨랑 좋은 답변을 바랍니다...부탁해요

    >



    예외 처리는 아니구요 이런 식으로 하면 어떨까요??



    procedure

    var

    workbook : Variant;

    begin

    ....

    ....

    workbook := XL.WorkBooks.Add; //새로운 페이지 생성

    .....

    .....

    XL.DisplayAlerts := False; {Excel 종료시 저장 여부를 물어보지 않도록 한다}

    SaveDialog1.Options := SaveDialog1.Options + [ofOverWritePrompt]; //덮어쓸것인지 물어보게

    if SaveDialog1.Execute then begin

    workbook.saveas(SaveDialog1.FileName); //파일저장

    end;



    직접 해보지 않고 해서 에러가 날지도 모르겠네요 ..



    참고 하세요 ^^

  • Profile
    정지호 2000.07.22 00:03
    김다음 wrote:

    > dbgrid의 내용을 엑셀의 saveas로저장했습니다.

    > procedure

    > var

    > workbook : Variant;

    > begin

    > ....

    > ....

    > workbook := XL.WorkBooks.Add; //새로운 페이지 생성

    > .....

    > .....

    > workbook.saveas(abc.xls); //파일저장

    >

    > 그런데 기존에 파일이 있는 경우 재저장할것인지를 물어오면

    > '예(yes)'를 클릭하면 문제가 없이 파일을 엎어씌우는데(저장잘됨)

    > '아니오(no)'를 클릭하면 다음과 같은 에러가 뜹니다.

    > _______________

    >

    > Project aa.exe raised exception class EOleException with message 'Workbook클래스 중 SaveAs메서드에 오류가 있습니다'.Process stopped. Use Step or Run to continue.

    > ________________

    > 라고 뜹니다.

    > 예외상황 처리라든가 어떤 방법이 있는지를 알고 싶습니다.

    > 빨랑 좋은 답변을 바랍니다...부탁해요

    >



    저두 그런 경험이 있었는데

    해결방법은 아니고요 꽁수를 썼지요

    저같은 경우에는 같은 파일이 있어도 무조건 새로 만드는 것이었기때문에

    이미 파일이 있으면 무조건 지우는 거지요

    if fileexists(파일이름) then

    deletefile(파일이름);

    요렇게....

    exception처리는



    try

    ....

    workbook := XL.WorkBooks.Add; //새로운 페이지 생성

    .....

    .....

    workbook.saveas(abc.xls); //파일저장

    except

    on E:EOleException do

    begin

    errstr:='저장중 에러 ....' + #13 + E.message;

    showmessage(errstr);

    deletefile(파일이름);

    .....

    end;

    end;//try end



    정답은 아니고요

    다른 좋은 처리 방법이 있으시면 다른 고수님들의

    의견도 들어봤음 하네요



    • 이승우
      2000.07.22 03:11
      김규억 wrote: > 파라독스DB에 그래픽파일(gif, jpg, bmp등..)을 저장하는 방법을 좀 가르쳐 주십시오. >...
    • 그냥
      2001.02.13 01:11
      이승우 wrote: > 김규억 wrote: > > 파라독스DB에 그래픽파일(gif, jpg, bmp등..)을 저장하는 방법을 좀 ...
    • rika
    • 2000.07.22 01:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 01:58
      안녕하세요. 최용일입니다. 않될리가 있나요.. 델파이에서 이런걸 Procedual Pointer라고 부릅니다. ...
    • 김태영
    • 2000.07.22 01:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 02:06
      안녕하세요. 최용일입니다. llf란 함수가 비절베이직에서는 많이 쓰이나보죠? 제 생각엔 별 필요없을것 ...
    • 이광민
    • 2000.07.22 01:37
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.07.22 02:54
      저도 자세히 알지는 못하지만 그래두 함 적어봅니다. 쿠키를 부여할 때... with response.cookies do...
    • hugehead
      2000.07.22 02:30
      질문이 너무 애매하군요. 좀더 구체적인 질문이었으면 합니다. 이광민 wrote: > 왕왕초보초보델...
    • 송인표
      2000.07.22 03:57
      // 여기나오는 방식은 약간 구식입니다. // 그러나 제일 잘되더군요... // 만약 MyCookie=1 , MyCook...
    • 방문객
    • 2000.07.22 01:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • BLUE
      2000.08.30 19:51
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • mashall3
      2000.07.22 06:29
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • rika
      2000.07.22 01:30
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • somoon
    • 2000.07.22 00:48
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 방석호
      2000.07.22 02:49
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • Black}{ole
      2000.07.22 01:03
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • 성호종
      2000.07.22 01:02
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • Black}{ole
      2000.07.22 00:22
      왕초보.. wrote: > 큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립니다. > Canvas를 이용...
    • 왕초보..
      2000.07.22 00:38
      Black}{ole wrote: > 왕초보.. wrote: > > 큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립...
    • 이동근
    • 2000.07.21 23:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이동근
      2000.07.26 18:01
      답변해 주시는 분들이 없으시네요... 질문 내용이 너무 부실했나보군요. 해결 방법을 생각하다가... ...
    • 김다음
    • 2000.07.21 23:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.07.22 03:15
      김다음 wrote: > dbgrid의 내용을 엑셀의 saveas로저장했습니다. > procedure > var > workbook : Var...
    • 정지호
      2000.07.22 00:03
      김다음 wrote: > dbgrid의 내용을 엑셀의 saveas로저장했습니다. > procedure > var > workbook : Var...
    • 엑소
    • 2000.07.21 21:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.07.21 22:01
      엑소 wrote: > 수고하십니다. > 질문 그대로 새롬데이타맨의 왼쪽 아이콘창(?) 구현방법에 > 대해 알고 ...
    • 이현우
    • 2000.07.21 21:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2000.07.22 00:31
      이현우 wrote: > 안녕하세요 > 고수님들 > 아켜죠요 > > 다름이 아니라 Web 에서 DATA 을 DLL 에서...
    • 금동이
    • 2000.07.21 21:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 02:12
      안녕하세요. 최용일입니다. 질문만으로는 무엇이 문제인가 확실히 알 수 없군요. 저도 많이 써봤지만 한...
    • 박성일
    • 2000.07.21 20:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.21 20:58
      안녕하세요. 최용일입니다. 아래와 같이 하세요... Assign할 때 sndbuf := @aa; sndbuf := @bb...
    • 성호종
      2000.07.21 21:21
      happykevin wrote: 아래 제가 제작한 소스가 보이는데요~ 저는 DBComboBox말고 그냥 Combobox 사용한 것...
    • 알로에
    • 2000.07.21 20:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.07.21 22:49
      안녕하세요..영원한 델초보 어린왕자입니다.. 별루 어려울게 없어요..프로시저아시져? 아래 프로시저는...
    • 정지호
      2000.07.21 21:03
      알로에 wrote: > 궁금한게 있어요.. > Sender라는게 있잖아요? > 예를 들면 > procedure TForm1.NewMen...
    • 김태영
    • 2000.07.21 20:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.21 21:03
      안녕하세요. 최용일입니다. case문에서 end;가 빠졌네요... case Test_FC(i) of 1: ...