C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[380] bcb6.0 에서 ms-word 에 저장하기
이진수 [linuz] 7110 읽음    2003-03-24 23:37
안녕하세요?
여기서 많은 것을 공부하고 있는 사람입니다.
음 아직 실력은 없고 모르는것도 많은데...
이렇게 올려도 되는지 모르겠네요..
다들 구현하는 것을 가지고 아니면 다 아는 사실은데..
이렇게 올리는 건지도 모르겠네요..
만약 모르는 사람이 있다면 참고가 되었으면 합니다.

ms- word 에 자료를 넣는 방법인데요..
물론 bcb6의 sample 에 보면 나와 있지요 이것을 조금 응용해봤어요..
차이점이라고 하면 sample 에서는 워드를 띄우는데..
워드를 띄우지 않고 저장하고 빠집니다.

먼저 빈폼에 WordApplication 과 WordDocument를 끌어다 놓구요..
버튼 하나와 Tedit 하나를 올려놓으세요...

간단한 설명은 TEdit의 내용을 워드에 저장합니다.
음 소스가 너무 지저분한거 같네요..
이해해 주세요..


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  OleVariant Template = EmptyParam;
  OleVariant NewTemplate = False;
  OleVariant ItemIndex = 1;
//       OleVariant SaveChanges = wdDoNotSaveChanges;
   OleVariant SaveChanges = wdDoNotSaveChanges;
  OleVariant OriginalFormat = Unassigned;
  OleVariant RouteDocument = Unassigned;
try
      {
        WordApplication1->Connect();
      }
    catch (Exception &exception)
      {
        MessageDlg("Word may not be installed", mtError, TMsgDlgButtons() << mbYes, 0);
        Abort;
      }
       WordApplication1->GetDefaultInterface()->Visible = false;

       ShowMessage("word open");
         WordApplication1->Documents->Add(Template, NewTemplate);
      //Assign WordDocument component
      WordDocument1->ConnectTo(WordApplication1->Documents->Item(ItemIndex));
    //이미지를 클립보드에 복사해서 붙여넣는다.
//       DBImgFishImg->CopyToClipboard();
//   WordDocument1->Sentences->Last->Paste();

    WordDocument1->Range(EmptyParam, EmptyParam)->InsertAfter(StringToOleStr(Edit1->Text + '\n'));
   // WordApplication1->Documents->Save(&TVariant("c:\\aaa.doc"));
//    WordDocument1->Save();
    WordDocument1->SaveAs(&TVariant("c:\\aaa.doc"),OriginalFormat, RouteDocument);
    WordDocument1->Close(SaveChanges, OriginalFormat, RouteDocument);
    WordApplication1->Quit(SaveChanges, OriginalFormat, RouteDocument);
    //WordApplication1->Quit()
    WordApplication1->Disconnect();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  OleVariant SaveChanges = wdDoNotSaveChanges;
  OleVariant OriginalFormat = Unassigned;
  OleVariant RouteDocument = Unassigned;
  try
  {
    WordApplication1->Quit(SaveChanges, OriginalFormat, RouteDocument);
    WordApplication1->Disconnect();

  }
  catch (Exception &exception)
  {
    Application->ShowException(&exception);
    WordApplication1->Disconnect();
  }
}




+ -

관련 글 리스트
380 bcb6.0 에서 ms-word 에 저장하기 이진수 7110 2003/03/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.