C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59166] [질문]excel saveas에서 에러가
하안인 [hurco] 1405 읽음    2009-11-19 20:56
예전에 사용하던 소스인데
엑셀은 2007이고 빌더는 6.0그대로입니다.

그런데 SAVEAS에서 에러가 나서..

ActiveWorkBook.OleFunction("SaveAs", FilePath ); --> 여기서 에러가 발생됩니다.

엑셀이 있는 것을 읽어오는 것은 에러가 안 났는데

새로운 엑셀에 데이타를 입력하고  파일명을 입력하는 데서 에러가 나네요.

예전에 사용한 소스 그대로실행해도 에러가 나서....

---------------------
  Variant xlApp;
  String str,Lv,Mv,strP,title[200];
  String tel,pa1,pa2,pa3,pa4,pa5,save_file;
  int x,y,i,j,k,n[200],ac;
  float tot,vf[200],vftot,ks;
  AnsiString FilePath ;

  ExcelSaveDialog->Filter = "excel files(*.xls)l*.XLS";
  if ( ExcelSaveDialog->Execute() )
     FilePath = ExcelSaveDialog->FileName ;
  else
     return;

  try
  {
     xlApp = CreateOleObject("Excel.Application");
  }
  catch(...)
  {
     ShowMessage("Excel프로그램이 설치되지 않았습니다.");
     return ;
  }

  try
  {
     Variant WorkBooks  = xlApp.OlePropertyGet("WorkBooks");
     WorkBooks.OleFunction("Add");
     Variant ActiveWorkBook = xlApp.OlePropertyGet("ActiveWorkbook");
     Variant WorkSheets = xlApp.OlePropertyGet("Worksheets");
     Variant WorkSheet;
     Variant Range;

     for(i = 0; i < 1; i++)
        WorkSheets.OleFunction("Add");

     WorkSheet = WorkSheets.OlePropertyGet("Item", i+1);
     WorkSheet.OleFunction("Activate");
     WorkSheet.OlePropertyGet("Range", "A1:K500").OlePropertyGet("Font").OlePropertySet("Size", 9);

     x = 3;

  MainForm->msPart2->First();
  int r,c;
  r = 1;
  c = 1;
  while(!MainForm->msPart2->Eof)
  {
     c=1;
     tel = MainForm->msPart2->FieldByName("tel")->AsString;
     pa1 = MainForm->msPart2->FieldByName("part1")->AsString;
     pa2 = MainForm->msPart2->FieldByName("part2")->AsString;
     pa3 = MainForm->msPart2->FieldByName("part3")->AsString;
     pa4 = MainForm->msPart2->FieldByName("part4")->AsString;
     pa5 = MainForm->msPart2->FieldByName("part5")->AsString;
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",tel.c_str());
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",pa1.c_str());
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",pa2.c_str());
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",pa3.c_str());
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",pa4.c_str());
     Range = WorkSheet.OlePropertyGet("Cells",r,c++);
     Range.OlePropertySet("Value",pa5.c_str());
     MainForm->msPart2->Next();
  }

     WorkSheet.OlePropertySet("Name","통계");
     ActiveWorkBook.OleFunction("SaveAs", FilePath ); //Datei speichern
  }
  catch(...)
  {
     ShowMessage("이상이 발생했습니다.");
  }

+ -

관련 글 리스트
59166 [질문]excel saveas에서 에러가 하안인 1405 2009/11/19
59172     Re:[질문]excel saveas에서 에러가 방태윤 2175 2009/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.