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
[4695] Re:[질문] 다른 응용 프로그램을 실행 시키려할때....
한꼬맹이 [] 3226 읽음    2000-12-28 00:00
무정 님이 쓰신 글 :
: builder에서 만든 프로그램에서 어떤 버튼을 누르면 다른 응용프로그램이 실행이 되게 하려는 데요.. 그냥 응용프로그램만 실행시키는 것이 아니고 그 프로그램에서 사용하는 파일을 읽어오게 하려고 합니다.
:
: 예를 들면 제가 만든 프로그램에서 어떤 버튼을 클릭시 MS-Word가 실행이 되면서 지정된 *.doc가 뜨게 하려는 것입니다.
:
: 그냥 MS-Word만 실행시키려는 것은 아래 방법을 사용하면 되었거든요.
: WinExec("MS-Word가 있는 경로", SW_SHOW); 11
:

오피스 게열의 프로그램을 제어하시려면 OLE오토메이션 객체를 다루실줄

아셔야 합니다.

이런 OLE객체를 다루려면 인터폐이스를 불러와야 하는데...

그방법에는 크게 IDispatch인터폐이스와 가변형변수를 이용하는 속력은 느리지만 사용하기

쉬운 방법이 있고요, 타입라이브러리를 임포팅해서 표준인터폐이스와 듀얼인터폐이스를

이용하는 속력은 빠르지만 사용하기 약간 까다로운 방법 마지막으로 빌더 5.0에서부터

지원하는 Servers탭에 있는 컴포넌트를 이용하는 방법이 있습니다. 이방법 또한 좀 쓰기가

까다롭더라구요...

온라인 상이라서 다가르쳐드릴수는 없고 제일 쉬운 IDispatch인터폐이스와 가변형변수를

이용하는 방법은 아래와 같습니다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Variant WordApp, WordDocs;

  WordApp = Variant::CreateObject("Word.Application");
  WordApp.OlePropertySet("Visible", true);
  WordDocs = WordApp.OlePropertyGet("Documents");
  WordDocs.OleFunction("Open", "c:\\Sample.Rtf"); //여기에 원하시는 워드파일의 경로를 설정
}

인클루드문에다가 다음과 같은 헤더파일을 인클루드하세요..
#include <utilcls.h>
#include <Comobj.hpp>

그럼 참고하세요..


   

+ -

관련 글 리스트
4689 [질문] 다른 응용 프로그램을 실행 시키려할때.... 무정 2943 2000/12/28
4695     Re:[질문] 다른 응용 프로그램을 실행 시키려할때.... 한꼬맹이 3226 2000/12/28
4694     Re:[질문] 다른 응용 프로그램을 실행 시키려할때.... 임승균.조로 3451 2000/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.