Q&A

  • excel 화일생성후 저장 하는 방법 좀 알려주세요
function  TF0903005.udf_SpreadToExcel: Boolean;
var
  vXls, vScheet : Variant;
  FName: String;
  ExcelPath : String
begin
  result := false;
  try
    vXls := CreateOleObject('Excel.Application');
  except
    MessageDlg('Excel이 설치되어 있지 않습니다.',MtWarning, [mbOK], 0);
    Exit;
  end;

  FName := 'c:\temp.xls';
  vXls.Visible := True;
  vXls.UserControl := False;
  vScheet := vXls.WorkBooks.Open(fName); --> error
  ....
  vXls.SaveAs(FName);

  ExcelPath := ExcelPath+'\Excel.Exe '+FName;
  winexec(pchar(ExcelPath),SW_SHOW);
end;
위에서 그리드에 있는 내용을 엑셀로 저장할때 temp.xls 파일이 없는경우
temp.xls 파일을 생성후 저장하려고 하는데
vScheet := vXls.WorkBooks.Open(fName); 부분에서 파일이 없다고
에러가 납니다. 빈 temp.xls를 만들면 되는데 없는경우는 에러가 납니다.
파일명일 그때그때마다 변경되어서 파일을 생성하고 저장해야하는데
잘안되네요 묻고답하기에 검색해 봤는데 잘 안되네요
부탁드립니다.
"자료실 검색해 보세요" 라는 답변은 안하셨으면 좋겠습니다.



1  COMMENTS
  • Profile
    최용일 2007.10.03 02:11
    간단한데요... 조금만 검색해보셨으면...

    <!--CodeS-->
      if FileExists(FName) then
        vScheet := vXls.WorkBooks.Open(fName)
      else
        vXls.WorkBooks.Add;
    <!--CodeE-->