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:
- Al comienzo de un informe, incluya una tabla de entradas que contenga todos los parámetros.
- A lo largo del contenido del informe, configure los campos que cambiarán cuando cambien las entradas en la Tabla.
- 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):
- Crear un nuevo documento
- Vaya a Archivo ➡ Propiedades (arriba a la derecha) ➡ Propiedades avanzadas:
- Luego vaya a la pestaña Personalizado en la ventana que aparece
- 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):
Ahora regrese al documento. Allí puedes usarcódigos de campopara mostrar las propiedades del documento.
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 \* MERGEFORMAT
y luego presionar F9para actualizar todos los códigos de campo en el documento (incluido el que acaba de crear):
- 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: