Вот так тупо открываем документ Word:
| Код | ShellExecute(0,"open","D:\\Test.doc","","",SW_SHOW);
|
А вот пример работы с Word через Builder с одной книги:ъ
| Код | #include <vcl.h> #include <ComObj.hpp> #include <utilcls.h> #pragma hdrstop
#include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Variant vWordApp, // Приложение vWordDocs, // Набор документов vWordDoc, // Документ vDocParagraphs, vParagraph, vVarRange, vVarCell, vVarTable;
bool fStart; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------------
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if(!fStart) { try { vWordApp=CreateOleObject("Word.Application"); fStart=true; } catch(...) { MessageBox(0, "Ошибка при открытии сервера Word", "Ошибка", MB_OK); return; } } vWordApp.OlePropertySet("Visible",true); vWordDocs=vWordApp.OlePropertyGet("Documents"); vWordDocs.OleProcedure("Add"); vWordDocs=vWordDocs.OleFunction("Item",1); vWordDocs.OleProcedure("Activate"); vDocParagraphs=vWordDocs.OlePropertyGet("Paragraphs"); // AnsiString str="ПРИВЕТ"; vDocParagraphs.OleProcedure("Add"); vParagraph=vDocParagraphs.OleFunction("Item",1); vParagraph.OlePropertyGet("Range"). OlePropertySet("Text",str.c_str()); vParagraph.OlePropertySet("Alignment",1); // str="Я умею работать в Word"; vDocParagraphs.OleProcedure("Add"); vParagraph=vDocParagraphs.OleFunction("Item",2); vParagraph.OlePropertyGet("Range"). OlePropertySet("Text",str.c_str()); vParagraph.OlePropertySet("Alignment",0); //по левому краю // AnsiString vAsCurDir=GetCurrentDir(); AnsiString vAsCurDir1=vAsCurDir+"\\hello.doc"; vWordDocs.OleProcedure("SaveAs",vAsCurDir1.c_str()); } //---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if (fStart) { try { vWordApp.OlePropertySet("DisplayAlerts",false); vWordApp.OleProcedure("Quit"); } catch(...) { MessageBox(0, "Ошибка при открытии сервера Word", "Ошибка", MB_OK); }
} }
|
|