Ver Mensaje Individual
  #1  
Antiguo 21-02-2020
McGuire McGuire is offline
Registrado
 
Registrado: oct 2019
Posts: 1
Reputación: 0
McGuire Va por buen camino
MS Word y campos Check

Hola a todos , estoy realizando un programa en delphi 7 y utilizo un documento de word como plantilla para generar la impresión. He leido en mensajes antiguos como insertar los campos con
Código Delphi [-]
 (* Creas un objeto Word *)
    DocWord := CreateOLEObject('Word.Application');

    (* Añades un documento basado en la plantilla *)
    DocWord.Documents.Add(Ruta);
    DocWord.visible:=False;
    Documento := DocWord.Documents.Item(1);

    (* Asignas valores a las variables // según informe ...*)

        Documento.Variables.add('_Campo1', QTabla.FieldByName('RefDocumento').Value);

(*Aqui me gustaría actualizar un campo check de word según el valor del campo*)
...



    (*Actualizas los campos*)
    Documento.Fields.Update;
    //DocWord.Visible:= True;
    //documento.Fields.ToggleShowCodes; //Alternas o no los codigos de campo o valor si no lo pones
    // DocWord.visible :=True;        //Opcional si quieres ver el Word


      (* Guardas Informe *)
      Documento.SaveAs(ExtractFilePath(application.ExeName)+'informes\Doc'+QTabla.FieldByName('RefDocument  o').Value+'.doc');

      (* Lo exportas a PDF*)  //SE NECESITA COMPLEMENTO DE OFFICE 2007 a PDF
      rutadoc:=ExtractFilePath(application.ExeName)+'Informes\Document'+QTabla.FieldByName('RefDocumento')  .Value+'.pdf';
      Documento.ExportAsFixedFormat(rutadoc, wdExportFormatPDF);
   //     Doc.ExportAsFixedFormat('C:\Aquanova\Document.pdf', wdExportFormatPDF);
    end;

    Docword.Quit(False); //Sale y no pregunta si guardar cambios -> (false)
    Docword:= Unassigned;

Pero intento cambiar un check en word desde delphi y sinceramente no se como hacerlo,
he creado un campo en el documento de word de tipo FORMCHECKBOX pero no se como acceder a el desde delphi para cambiar su valor.

Gracias de antemano,
Responder Con Cita