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;
흠~~ 파일에 따른 저장 방법이 수천수만가지인데 어떻게 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;
>