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
[49314] excel의 파일을 그리드의 한셀에 옮길때 오류가 나요..해결해 주세요..
ljagho [] 1590 읽음    2007-05-19 16:01
void __fastcall TMicrophoneConfigForm::bsSkinButton4Click(TObject *Sender)
{
AnsiString FileName;

  if(bsSkinOpenDialog1->Execute())
  {
      FileName = bsSkinOpenDialog1->FileName;
  }

  Variant ex=Variant::CreateObject("Excel.Application");
  ex.OlePropertyGet("WorkBooks").OleProcedure("Open", FileName);
  Variant awb=ex.OlePropertyGet("ActiveWorkBook");
  //Variant sh=awb.OlePropertyGet("ActiveSheet");//엑티브sheet
  Variant sh=awb.OlePropertyGet("Sheets").OlePropertyGet("item",1);//sheet1
  //Variant sh=awb.OlePropertyGet("Sheets").OlePropertyGet("item",2);//sheet2

  int row=sh.OlePropertyGet("UsedRange").OlePropertyGet("Rows").OlePropertyGet("Count"); //row갯수
  int col=sh.OlePropertyGet("UsedRange").OlePropertyGet("Columns").OlePropertyGet("Count");//col갯수

  bsSkinStringGrid1->RowCount=row+1;
  bsSkinStringGrid1->ColCount=col+1;

  for(int i=0;i<col;i++)
  {
      bsSkinStringGrid1->Cells[3][i+1]=sh.OlePropertyGet("Cells",1,i+1).OlePropertyGet("Value");
  }


  awb.OleProcedure("Close");
  ex.OleProcedure("Quit");

  awb=Unassigned;
  ex=Unassigned; 
}

이 같이 했는데 오픈해서 excel파일 선택하고 확인 누르면  Access violation at addess 005D4AA3 in module 's~.exe', Read of address 00000800. 이런 오류가 납니다. 해결해 주세요 제발~~ 컴포넌트는 OpenDialog밖에 안썻거든요 다른 컴포넌트가 안들어가서 그런건 아닌지...

+ -

관련 글 리스트
49314 excel의 파일을 그리드의 한셀에 옮길때 오류가 나요..해결해 주세요.. ljagho 1590 2007/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.