C++ Builder and Word fields

Hello everyone!!!

anyone tried to pass some data to fields of a word's document after connecting to it?...
If yes, how I would do?...

I created a word document saved as RTF where I put inside two REF fields related to two bookmarks ( ex. {REF FIRST_BOOKMARK} {REF SECOND_BOOKMARK}).
I connected to the document with:

WordDocument->ConnectTo(WordApplication->Documents->Open(filename));

at this point how I could pass the contents of two dataset fields I have to those word's document fields?

In the specific I tried a code like this:

WordApplication->Connect();
OleVariant filename = _PathDataBase + "\document.doc";
WordDocument->ConnectTo(WordApplication->Documents->Open(filename));
WordDocument->OnClose = OnWordClose;
WordApplication->set_Visible(false);
OleVariant vBookmark;
if ( WordDocument->Bookmarks->Exists((wchar_t *)"FIRST_BOOKMARK") )
{
vBookmark = StringToOleStr("FIRST_BOOKMARK");
WordDocument->Bookmarks->Item(vBookmark)->Select();
AnsiString StringToReplace = _DataSetMemo->Fields->Fields[1]->AsString;
WordApplication->Selection->TypeText(StringToOleStr(StringToReplace));
}
WordApplication->set_Visible(true);
WordApplication->Activate();

but when I am checking if the bookmark exists it returns an error like:

(this->Exists(Name, (VARIANT_BOOL*)&prop)) Error: C0000005 (-1073741819) @ ....includevclWord_2k.h/9396
Press [Y]es to terminate, [N]o to continue and [C]ancel to Debug.

Did I have missed something?... or even did something wrong?...

Thanks in advance to all!!
Ciao,
Luigi

Comments

  • Or even anyone knows a way to find soem text I could set up and replace with the right text?... Like if I put in word document this and finding it from C++ code and replace the entire <> with something else I want to write for example a name?....

    Thanks again
    Ciao,
    Luigi
  • Yes u can. But I don't really understand what u mean... U want to change a text into the file or what? If u want to work with the text of the file use Standart->Memo.
  • Yes u can. But I don't really understand what u mean... U want to change a text into the file or what? If u want to work with the text of the file use Standart->Memo.
  • Yes u can. But I don't really understand what u mean... U want to change a text into the file or what? If u want to work with the text of the file use Standart->Memo.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories