¡He regresado! Y esta vez con la noticia de que resolví el problema. Estoy seguro que a alguien le servirá así que les comparto mi solución.
En lugar de agregar la variante
word al TDocumentWord se tiene que agregar el documento (variante
document), es decir, estaba cometiendo el terrible error de intentar modificar una aplicación y no un documento. Y posteriormente trabajaremos con ese TDocumentWord. Por lo que quedaría así:
Código Delphi
[-]procedure TFmWord.Button1Click(Sender: TObject);
var
Word: Variant;
Documento: Variant;
sRutaPlantilla, sDocumento : OleVariant;
begin
sRutaPlantilla := ExtractFilePath(Application.ExeName)+'Plantilla\Plantilla.dotx';
sDocumento := ExtractFilePath(Application.ExeName)+'Documento\Documento.doc';
if not CampoCapturado(Edit1.Text) or
not CampoCapturado(Memo1.Text) or
not CampoCapturado(Edit3.Text) or
not CampoCapturado(Edit4.Text) or
not CampoCapturado(Edit5.Text) or
not CampoCapturado(Edit6.Text) or
not CampoCapturado(Edit7.Text) then
exit;
try
Word := CreateOleObject('Word.Application');
Word.Documents.Add(sRutaPlantilla);
Documento := Word.Documents.Item(1);
WordDocument1 := TWordDocument.Create(Application);
WordDocument1.ConnectTo(IDispatch(Documento) as _Document);
WordDocument1.Variables.Add('Nombre', Edit1.Text);
WordDocument1.Variables.Add('Direccion', Memo1.Text);
WordDocument1.Variables.Add('Folio', Edit3.Text);
WordDocument1.Variables.Add('Cantidad', Edit4.Text);
WordDocument1.Variables.Add('Empaque', Edit5.Text);
WordDocument1.Variables.Add('Volumen', Edit6.Text);
WordDocument1.Variables.Add('Peso', Edit7.Text);
WordDocument1.Fields.Update;
InsertarTabla(DSFind, WordDocument1); WordDocument1.ActiveWindow.View.ShowFieldCodes := False; WordDocument1.SaveAs(sDocumento);
WordDocument1.Close;
Word.Quit;
Word:= Unassigned;
except
MessageDlg('Ocurrió un error al ejecutar',mtError,[mbOk],0);
end;
end;
Con esto el problema queda resuelto.
¡Saludos!