Utilice una tabla para actualizar campos en Word

Utilice una tabla para actualizar campos en Word

Me gustaría implementar la siguiente funcionalidad en mis informes de MS Word. No estoy seguro de cómo o si esto es posible.

Esta es la imagen que tengo en mente, como referencia:

ejemplo de lo que quiero

  1. Al comienzo de un informe, incluya una tabla de entradas que contenga todos los parámetros.
  2. A lo largo del contenido del informe, configure los campos que cambiarán cuando cambien las entradas en la Tabla.
  3. Ejemplo: EL PARÁMETRO 1 está configurado en 100, todos los PARAMETRO 1 en la sección Contenido cambiarán automáticamente a 100.

Gracias

Respuesta1

Creo que necesitas implementar este requisito con VBA.

Abra la consola VBA: haga clic en "Alt + F11"

Aquí está la macro generada por la grabación de pantalla, a la que puede consultar:

Sub Macro5()
Selection.TypeText Text:="100"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
        .Text = "parameter1"
        .Replacement.Text = "100"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.TypeText Text:="200"
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "parameter2"
        .Replacement.Text = "200"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.TypeText Text:="300"
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "parameter3"
        .Replacement.Text = "300"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Solo necesita modificar los dos parámetros siguientes para controlar el valor de la variable:

TypeText Texto:="XX" Reemplazo.Texto = "XX"

Respuesta2

Creo que encontré una manera que se acerca bastante a lo que desea, sin embargo, en lugar de una tabla en el documento, debe usar las Propiedades avanzadas de un documento.

Estos son los pasos desde cero (para una versión reciente de Word en Windows):

  1. Crear un nuevo documento
  2. Vaya a Archivo ➡ Propiedades (arriba a la derecha) ➡ Propiedades avanzadas:

ingrese la descripción de la imagen aquí

  1. Luego vaya a la pestaña Personalizado en la ventana que aparece
  2. Aquí puede crear propiedades de documento personalizadas, que puede usar para almacenar los valores de los parámetros como se muestra a continuación en el GIF (perdón por el error tipográfico):

ingrese la descripción de la imagen aquí

  1. Ahora regrese al documento. Allí puedes usarcódigos de campopara mostrar las propiedades del documento.

  2. Lo más fácil es ir a la ubicación donde desea que aparezca el texto del parámetro, presionar CTRL+ F9, escribir DOCPROPERTY parameter_name \* MERGEFORMATy luego presionar F9para actualizar todos los códigos de campo en el documento (incluido el que acaba de crear):

ingrese la descripción de la imagen aquí

  1. Repítalo en cada ubicación donde desee que aparezcan los parámetros.

Para cambiar el valor del parámetro en el documento, actualícelo en Propiedades avanzadas (paso 2-3), regrese al documento y actualice todos los códigos de campo presionando F9.

Aquí hay una breve demostración:

ingrese la descripción de la imagen aquí

información relacionada