UpdateFields

Range.UpdateFields method

Actualiza los valores de los campos del documento en este rango.

public void UpdateFields()

Observaciones

Cuando abre, modifica y luego guarda un documento, Aspose.Words no actualiza los campos automáticamente, los mantiene intactos. Por lo tanto, normalmente querrá llamar a este método antes de guardar si ha modificado el documento mediante programación y desea asegurarse los valores de campo adecuados (calculados) aparecen en el documento guardado.

No es necesario actualizar los campos después de ejecutar una combinación de correspondencia porque la combinación de correspondencia es un tipo de campo update y actualiza automáticamente todos los campos del documento.

Este método no actualiza todos los tipos de campos. Para obtener una lista detallada de los tipos de campos admitidos, consulte la Guía del programador.

Este método no actualiza los campos relacionados con los algoritmos de diseño de página (por ejemplo, PÁGINA, PÁGINAS, PAGEREF). Los campos relacionados con el diseño de página se actualizan cuando representa un documento o llamaUpdatePageLayout.

Para actualizar campos en todo el documento utiliceUpdateFields.

Ejemplos

Muestra cómo actualizar todos los campos de un rango.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.InsertField(" DOCPROPERTY Category");
builder.InsertBreak(BreakType.SectionBreakEvenPage);
builder.InsertField(" DOCPROPERTY Category");

// Los campos DOCPROPERTY anteriores mostrarán el valor de esta propiedad de documento incorporada.
doc.BuiltInDocumentProperties.Category = "MyCategory";

// Si actualizamos el valor de una propiedad del documento, necesitaremos actualizar todos los campos DOCPROPERTY para mostrarlo.
Assert.AreEqual(string.Empty, doc.Range.Fields[0].Result);
Assert.AreEqual(string.Empty, doc.Range.Fields[1].Result);

// Actualiza todos los campos que están en el rango de la primera sección.
doc.FirstSection.Range.UpdateFields();

Assert.AreEqual("MyCategory", doc.Range.Fields[0].Result);
Assert.AreEqual(string.Empty, doc.Range.Fields[1].Result);

Ver también