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
[63064] Re:답변 주신 분들 감사하지만...저의 부족한 실력 때문에
청운 [] 1758 읽음    2010-11-19 14:03
아래 코드는 잘 돌아가는 코드입니다.

strFN에 파일 경로 및 이름을 넣어주시면 됩니다.


Variant excel_app;
Variant excel_window;
Variant excel_book;
Variant excel_books;
Variant my_worksheet;
Variant excel_sheets;
Variant cells;

excel_app = Variant::CreateObject("Excel.Application");
excel_app.OlePropertySet("DisplayAlerts",false);
excel_app.OlePropertySet("Visible",false);

// strFN에 불러올 파일 지정 한 후, 아래에서 불러오기..
excel_app.OlePropertyGet("WorkBooks").OleProcedure("Open",strFN.t_str());

excel_window = excel_app.OlePropertyGet("ActiveWindow");
excel_book = excel_app.OlePropertyGet("ActiveWorkbook");
Variant my_worksheet1 = excel_book.OlePropertyGet("WorkSheets");

my_worksheet1.OleFunction("Add");    // Sheet 추가
my_worksheet = my_worksheet1.OlePropertyGet("Item",2);  
my_worksheet.OlePropertySet("Name","Data");  // 두번째 시트 이름을 'Data'로 지정

my_worksheet = my_worksheet1.OlePropertyGet("Item",1);
my_worksheet.OlePropertySet("Name","Trend"); // 첫번째 시트 이름을 'Trend'로 지정

// 이 부분은 필요없으실거고....
String strDT =  FormatDateTime("yyyy-mm-dd hh:nn:ss",chartReport->BottomAxis->Minimum);
strDT += " ~ " + FormatDateTime("yyyy-mm-dd hh:nn:ss",chartReport->BottomAxis->Maximum);

// Cell(1,4)에 strDT 내용을 쓰는 부분..
my_worksheet.OlePropertyGet("Cells").OlePropertyGet("Item",1,4).OlePropertySet("Value",strDT.t_str());


// 이부분은,..Cell(3,1)에 클립보드에 있던 내용을 Paste 하는 부분...
my_worksheet.OleFunction("Select");
cells = my_worksheet.OlePropertyGet("Cells",3,1);
cells.OleFunction("Select");

my_worksheet.OleProcedure("Paste");
//

// Save
excel_app.OleProcedure("Save");

excel_app.OleFunction("Quit");
excel_app = Unassigned;





안수홍 님이 쓰신 글 :
: 감사합니다..하지만 제가 볼랜드 C++써야하는게 아니라
: VISUAL C++를 반드시 써야 해서 엑셀 오토메이션을 이용해서 뭔가 해보려고 하는데요
:
: 문제는 제 프로그램 상에서는 New book을 열어서 쓰는게 가능한데요
: 제가 필요한 것은 Xls파일을 load한 다음에 거기에 쓰도록 해야 합니다.
:
: 한마디로 엑셀에서 new book만들기가 아닌 open을 한뒤
: 쓰도록 해야합니다.
:
: 그래서 시키는대로 했는데 자꾸 그림과 같은 오류가 뜨네요..ㅠㅠ
:
: 무슨 문제인지 도통모르겠네요 엑세스 위반이 발생했다는데,,.

+ -

관련 글 리스트
63062 답변 주신 분들 감사하지만...저의 부족한 실력 때문에 안수홍 1716 2010/11/19
63064     Re:답변 주신 분들 감사하지만...저의 부족한 실력 때문에 청운 1758 2010/11/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.