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
[59172] Re:[질문]excel saveas에서 에러가
방태윤 [nabty] 2175 읽음    2009-11-20 11:21
UnicodeString file_name;
ExcelWorksheet1->SaveAs(((WideString)file_name).c_bstr());

위와같은 형태로 2009 에서는 잘 동작합니다.


하안인 님이 쓰신 글 :
: 예전에 사용하던 소스인데
: 엑셀은 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에서 에러가 하안인 1406 2009/11/19
59172     Re:[질문]excel saveas에서 에러가 방태윤 2175 2009/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.