안녕하세요?? 또 엑셀에서 헤매고 있습니다..ㅠ.ㅠ
 우여곡절 끝에 엑셀 화일들을 생성했으나..
 리소스가 부족하여..진행이 안 된다는...ㅠ.ㅠ
 쉬트 12개를 만들어야 하는데요..
 대강 흐름은 데이타 읽어 와서 엑셀 열고
 쉬트 선택후 작업하고 저장하고 
 QUIT로 빠지고..12번 반복이거든요..
 근데 한 번 실행될 때마다 리소스를 먹더니..
 85%에서 시작한 것이 8-9번 작업시 0%라는 에러가..ㅠ.ㅠ
 아래는 엑셀에 쓰는 한 부분입니다..
 혹시 아시는 분은 꼭 좀..ㅠ.ㅠ
 아참 차일드폼에서 엑셀을 생성합니다..
 메인폼 죽여야 리소스가 반환되더군요..ㅠ.ㅠ
 다음은 소스입니다...^^:;;;
procedure Tfrm_5802.MakeXLFile ;
Var
  XL  : Variant;
  i   : Integer;
  j   : Integer;
  k   : Integer;
  SrData : TsearchRec;
  X_file  : olevariant;
begin
  IF NOT DirectoryExists('C:tempAsReport') THEN ForceDirectories ('C:tempAsReport');//디렉토리 지정
  X_file := 'C:tempAsReport'+'NH-'+ Trim(Med_StYYMM.text) + '.xls';
  //화일 존재시 화일 삭제
  IF FindFirst(X_file, faArchive, SrData) = 0 THEN DeleteFile(X_file) ;
  try
    XL := CreateOLEObject('Excel.Application');
  except
    showmessage('Excel이 설치되어 있지 않습니다!!!');
    exit;
  end;
    XL.WorkBooks.Add; //엑셀 워크북 추가
    XL.Visible := True;
    XL.Sheets['Sheet2'].Select ;
    XL.Sheets['Sheet2'].Name := '02' ;
    XL.Sheets['Sheet3'].Select ;
    XL.Sheets['Sheet3'].Name := '03' ;
    XL.Sheets['Sheet1'].Select ;
    XL.Sheets['Sheet1'].Name := '01'  ;
    FOR i := 4 To 12 DO
    BEGIN
      XL.Sheets.Add;
      XL.Sheets['Sheet' + IntToStr(i)].Select ;
      IF i < 10 THEN
         XL.Sheets['Sheet' + IntToStr(i)].Name := '0' + IntToStr(i)
      ELSE XL.Sheets['Sheet' + IntToStr(i)].Name := IntToStr(i) ;
    END; //For
    //시트 정렬
    For j := 1 To XL.Sheets.Count DO BEGIN
      For k := 1 To (j - 1) DO BEGIN
        IF (UpperCase(XL.Sheets[j].Name) < UpperCase(XL.Sheets[k].Name)) THEN
        BEGIN
          XL.Sheets[J].Move(XL.Sheets[K])  ;
        END;//IF
      END;//For k
    END;//for j
    //------- 데이터 INPUT --------------//
    
    //-------데이터 INPUT END-------------//
 // ----- 엑셀 편집
    XL.Columns['A:I'].Select;
    XL.Selection.ColumnWidth := 8.11 ;
    XL.Selection.Font.Name := '돋움';
    XL.Selection.Font.Size := 12 ;
    
    XL.Sheets['01'].Name := '표지'  ;
    XL.ActiveWindow.Zoom := 75;
    XL.ActiveSheet.PageSetup.LeftMargin  := 80 ;  // /28
    XL.ActiveSheet.PageSetup.RightMargin := 80 ;
    XL.ActiveSheet.PageSetup.Orientation := 2; // 1= 세로 2 = 가로
    XL.DisplayAlerts := false;
    XL.activeworkbook.SaveAs(X_file);
    XL.Quit ;