Open and Save files in MS Word as OLE Object from Delphi program

Hello! First of all, sorry for my english! I'm spanish.

I need help, so please, if you know, answer me to esteban....@arrakis.es or
by repliyng this message

Problem:

I use MS Word in a TOleContainer, and I open Word width:

if (OleContainer1.State = osEmpty) then begin
   OleContainer1.CreateObject('Word.Document',False);
      with OleContainer1 do
        DoVerb(PrimaryVerb);
end;

Ok, it works, and now I have Word Opened in my Delphi Form (Into the
olecontainer), and my menu merged with the Word menu (Important).
Now, i want to send to Word A file writed IN RTF FORMAT, but this file is in
a <BLOB Binary> Field of a Table. I have to send the contents of the field
(the Rtf file) to the Word, and then when the user uses the "Return to My
program" Menu, then I have to read the RTF file from Word and save it to the
<BLOB Binary> field.
How Can I do this?

I have to say that if the data saved in the <BLOB Binary> field is a Word
Document, it works fine, but if the data is in RTF format or Plain Text or
the BLOB is empty, it doesn't works. so my problem is that i need data in
RTF FORMAT, becouse I use a DBRichEdit to present it, but I need to change
it width Word.

And the Other big problem is to Get the data From MS Word IN RTF FORMAT,
becouse If it where in Word Format (.doc), it can not be displayed in a
DBRichEdit.

I have thinked a solution is to write the BLOB data to a file "Temp.rtf",
open it width word, and when they Click "Return to my programa" option menu,
then I in background save the changes to the "Temp.rtf" file, and i get the
file and copy it to the BLOB field. But I think it can be done directly from
word (anyway, I don't know how to do this...:)

If it may be helpful for you, there is what I do:

procedure TEditWordForm.Load;
var
  Stream: TBlobStream;
begin
  Stream := nil;
  try
    try
      Stream := TBlobStream.Create(Tabla.FieldByName('Notas') as TBlobField,
bmRead);
      OleContainer1.LoadFromStream(oStream);
      Olecontainer1.DoVerb(ovPrimary);
    except
      MessageDlg('Document was not read successfully from BLOB field...',
mtWarning, [mbOK], 0);
    end;
  finally
    Stream.Free;
  end;
end;

Thanks

    Esteban