안녕하세요?
여기서 많은 것을 공부하고 있는 사람입니다.
음 아직 실력은 없고 모르는것도 많은데...
이렇게 올려도 되는지 모르겠네요..
다들 구현하는 것을 가지고 아니면 다 아는 사실은데..
이렇게 올리는 건지도 모르겠네요..
만약 모르는 사람이 있다면 참고가 되었으면 합니다.
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();
}
}
|