Q&A

  • SaveDialog 에서 저장이 안돼요~
table을 open 해서 DBgrid에 불러오고

DBgrid에 조회된 데이타들을 엑셀화일로 저장하는 과정에서

SaveDialog를 사용했습니다.

대화상자가 나오고 화일명을 넣고 저장했는데

initialDir에 지정한 디렉토리에 저장한 화일명이 안생기고

c:windowsRecent에 바로가기 화일만 생성됩니다.

왜 지정한 디렉토리에 화일이 생성되지 않는걸까요.

도와주세요~.





procedure TForm1.ColorButton3Click(Sender: TObject);

var

i, j : integer;

begin

try

ExcelApplication1.Connect;

except

MessageDlg('Excel과 연결되지 않습니다.', mtError, [mbOK], 0);

Abort;

end;



ExcelApplication1.workBooks.Add(xlWBATWorksheet, 0);

Table1.first;

for i := 1 to Table1.RecordCount do

begin

for j := 1 to DBGrid1.FieldCount do

begin

ExcelApplication1.Cells.Item[i,j] := Table1.Fields[j-1].AsString;

end;

Table1.Next;

end;

SaveDialog1.Execute;

end;



2  COMMENTS
  • Profile
    kylix 2001.02.28 07:12
    > SaveDialog1.Execute; 이곳이 저장하는 곳인가요?



    흠~~ 파일에 따른 저장 방법이 수천수만가지인데 어떻게 SaveDialog1.Execute 하나로



    저장을 하겠습니까? TSaveDialog객체는 단지 대화상자를 띄워서 세이브할 파일의 이름을



    정해주는 것뿐입니다. Execute를 실행해서 파일의 이름을 정하고 저장은 직접하셔야 합니다.



    제크 wrote:

    > table을 open 해서 DBgrid에 불러오고

    > DBgrid에 조회된 데이타들을 엑셀화일로 저장하는 과정에서

    > SaveDialog를 사용했습니다.

    > 대화상자가 나오고 화일명을 넣고 저장했는데

    > initialDir에 지정한 디렉토리에 저장한 화일명이 안생기고

    > c:windowsRecent에 바로가기 화일만 생성됩니다.

    > 왜 지정한 디렉토리에 화일이 생성되지 않는걸까요.

    > 도와주세요~.

    >

    >

    > procedure TForm1.ColorButton3Click(Sender: TObject);

    > var

    > i, j : integer;

    > begin

    > try

    > ExcelApplication1.Connect;

    > except

    > MessageDlg('Excel과 연결되지 않습니다.', mtError, [mbOK], 0);

    > Abort;

    > end;

    >

    > ExcelApplication1.workBooks.Add(xlWBATWorksheet, 0);

    > Table1.first;

    > for i := 1 to Table1.RecordCount do

    > begin

    > for j := 1 to DBGrid1.FieldCount do

    > begin

    > ExcelApplication1.Cells.Item[i,j] := Table1.Fields[j-1].AsString;

    > end;

    > Table1.Next;

    > end;

    > SaveDialog1.Execute;

    > end;

    >

  • Profile
    하얀까마귀 2001.02.28 11:14
    안녕하세요 하얀까마귀 입니다.



    if SaveDialog1.Execute then <-- 요넘이 확인을 눌렀을때 입니다.

    begin

    SaveDialog1.FileName <-- 요넘이 파일명이죠..

    {

    저장은 마음데로요.. 다이알로그박스에서는 그냥 파일명만 가져오거든요

    실제저장은 각각하셔야 합니다.



    }

    end;







    kylix wrote:

    > > SaveDialog1.Execute; 이곳이 저장하는 곳인가요?

    >

    > 흠~~ 파일에 따른 저장 방법이 수천수만가지인데 어떻게 SaveDialog1.Execute 하나로

    >

    > 저장을 하겠습니까? TSaveDialog객체는 단지 대화상자를 띄워서 세이브할 파일의 이름을

    >

    > 정해주는 것뿐입니다. Execute를 실행해서 파일의 이름을 정하고 저장은 직접하셔야 합니다.

    >

    > 제크 wrote:

    > > table을 open 해서 DBgrid에 불러오고

    > > DBgrid에 조회된 데이타들을 엑셀화일로 저장하는 과정에서

    > > SaveDialog를 사용했습니다.

    > > 대화상자가 나오고 화일명을 넣고 저장했는데

    > > initialDir에 지정한 디렉토리에 저장한 화일명이 안생기고

    > > c:windowsRecent에 바로가기 화일만 생성됩니다.

    > > 왜 지정한 디렉토리에 화일이 생성되지 않는걸까요.

    > > 도와주세요~.

    > >

    > >

    > > procedure TForm1.ColorButton3Click(Sender: TObject);

    > > var

    > > i, j : integer;

    > > begin

    > > try

    > > ExcelApplication1.Connect;

    > > except

    > > MessageDlg('Excel과 연결되지 않습니다.', mtError, [mbOK], 0);

    > > Abort;

    > > end;

    > >

    > > ExcelApplication1.workBooks.Add(xlWBATWorksheet, 0);

    > > Table1.first;

    > > for i := 1 to Table1.RecordCount do

    > > begin

    > > for j := 1 to DBGrid1.FieldCount do

    > > begin

    > > ExcelApplication1.Cells.Item[i,j] := Table1.Fields[j-1].AsString;

    > > end;

    > > Table1.Next;

    > > end;

    > > SaveDialog1.Execute;

    > > end;

    > >