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
[66315] Re:C++Builder XE2에서 텍스트를 MS Word 로 보내기 오류 문의
박우성 [solgari] 1198 읽음    2012-02-20 12:01
OLE 객체로 문자열을 보낼때는 조심해야 합니다.
UnicodeString / AnsiString 을  사용하면 안 되구요. BSTR형을 사용하여야 하는데,
C++ Builder에서는 WideString을 이용하면 됩니다.

다음과 같이 하시면 됩니다. C++ Builder XE에서 테스트 되었습니다.


Variant MSWord;

MSWord = GetActiveOleObject("Word.Basic");

WideString strText = RichEdit1->SelText;
MSWord.OleProcedure( "Insert", strText.c_bstr() );


웨잇포림 님이 쓰신 글 :
: 안녕하세요.
:
: 그동안  C++Builder 2010 버전에서 다음과 같이 RichEdit1에서 선택한 텍스트를 열려있는 MS Word 문서에 보내는 기능을 사용하였습니다.
: MSWord = GetActiveOleObject("Word.Basic");
: MSWord.OleProcedure("Insert", RichEdit1->SelText.t_str());
:
: 그런데 C++Builder XE2 버전에서는 위의 코드가 제대로 동작하지 않습니다. 그래서 아래와 같이  t_str()을  c_str()로 바꾸어 실행하면 선택된 텍스트 일부분만 MS Word로 보내집니다. 선택된 텍스트 모두가 보내져야 하는데 일부분만 보내집니다.
:
: MSWord = GetActiveOleObject("Word.Basic");
: MSWord.OleProcedure("Insert", RichEdit1->SelText.c_str());
:
: 해결책이 없을까요?
:
: 감사합니다.

+ -

관련 글 리스트
66305 C++Builder XE2에서 텍스트를 MS Word 로 보내기 오류 문의 웨잇포림 909 2012/02/19
66315     Re:C++Builder XE2에서 텍스트를 MS Word 로 보내기 오류 문의 박우성 1198 2012/02/20
66333         소중한 답변 감사합니다. 웨잇포림 859 2012/02/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.