Repetir una entrada del usuario a través de un documento de Microsoft Word

11

Estoy tratando de crear un documento en el que el usuario tenga la oportunidad de ingresar texto y me gustaría usarlo en el resto de los lugares en ese mismo documento. El texto ingresado por el usuario se usará en muchos lugares en el mismo documento y cambiar el nombre en cualquier momento debe reflejarse en el resto del documento.

Por ejemplo, en la primera página del documento, me gustaría obtener el nombre y la edad del usuario y usarlo en otros lugares como se muestra en la siguiente captura de pantalla.

ingrese la descripción de la imagen aquí

Traté de usar el control de contenido de texto sin formato para obtener el nombre y la edad. Pero no pude encontrar una manera de insertarlos como campos en mi texto.

¿Alguna idea sobre cómo puedo lograr esto? Incluso estoy listo para hacer una correspondencia, pero no quiero que los datos provengan de otro lugar que no sea este documento. La captura de pantalla se intentó en Office 2013, pero sería genial si funciona desde 2007 en adelante. No quiero hacerlo con macros.

Narayanan
fuente

Respuestas:

6

Creo que tendrá que usar la plantilla de Word y DocVariables. Esto también significa algo de VBa pero este tutorial lo cubre

http://www.gmayor.com/BookmarkandVariableEditor.htm

Sin embargo, como un ejemplo de cómo hacer que lea contenido de otro lugar, esto puede ayudarlo a comenzar ... ¡Esto no es perfecto, pero puede ser un buen comienzo!

En palabras, agregue la barra de herramientas del desarrollador a la cinta.

Desde la barra de herramientas del desarrollador, coloque 2 cuadros de texto desde la pestaña de controles.

Haga clic en la barra de herramientas Insertar.

Ahora, haga clic en el primer cuadro de texto (en el que también se copiará el texto). Asegúrese de hacer clic en los 3 pequeños puntos en el lado izquierdo para que se seleccione todo el cuadro de texto. Cuando lo haya seleccionado, el Marcador (en Enlaces) debería habilitarse. Haga clic en él y asígnele un nombre apropiado.

Haga clic en el segundo cuadro de texto y haga lo mismo, pero esta vez, haga clic en Referencia cruzada. En el cuadro desplegable, seleccione marcadores y luego busque el marcador en cuestión.

Esto está configurado, pero debe actualizar manualmente el campo. Por lo tanto, escriba algo de texto en el primer cuadro de texto, luego haga clic derecho en el segundo y seleccione Actualizar campos. Como dije, no es perfecto, ¡pero espero que sea un comienzo!

Este artículo explica que se puede hacer con una plantilla y macros. http://word.mvps.org/FAQs/Userforms/CreateAUserform.htm

Dave
fuente
La clave para poder crear el marcador era hacer clic en los tres puntos.
Shipr
12

Para Windows Word 2007 y versiones posteriores, puede usar algunos de los Controles de contenido que Word inserta desde Insertar-> Partes rápidas-> Propiedad del documento ... Por ejemplo, si inserta la Propiedad del documento "Autor", Word inserta un control de contenido que está conectado a la propiedad incorporada. Entonces, cuando cambia el valor en una copia del control de contenido, el valor de la propiedad se actualiza, luego todos los demás controles de contenido de Autor se actualizan automáticamente. Esto es diferente del enfoque anterior a Word 2007 donde tenía que insertar un campo {AUTOR}, luego seleccionarlo y actualizarlo.

Mediante la pestaña Desarrollador, puede seleccionar el control de contenido resultante y asignarle un nuevo Título, como "Edad". Luego puede copiar / pegar copias del control con ese título. También suele ser útil hacer que los controles no sean eliminables.

Si no desea utilizar las propiedades integradas tradicionales como Autor, etc., hay un conjunto de cinco "propiedades" llamadas Propiedades de portada que puede utilizar en su lugar. También están disponibles en el menú Propiedad del documento ..., pero los valores se almacenan en un lugar diferente, es decir, en una parte XML personalizada creada por Word. Creo que estos son dirección de la empresa, correo electrónico de la empresa, fax de la compañía, teléfono de la empresa y fecha de publicación. Nuevamente, puede modificar el Título usando la pestaña Desarrollador.

Más allá de eso, tienes que usar VBA o algo así. Si utiliza controles de contenido, debe crear su propia parte XML personalizada para almacenar los valores y conectar los controles a esa tienda. Encontrará un buen resumen de varias opciones para "repetir datos" aquí

FWIW, si necesita usar formularios en Word, el tipo de campo de formulario más "compatible" es lo que se denomina "campos de formulario heredados" en Windows Word, porque estos son el único tipo que también funciona en Mac Word. Pero si solo necesita cosas para trabajar en Windows Word 2007 y versiones posteriores, los controles de contenido tienen algunas ventajas.


fuente
¿Hay alguna manera de agregar campos de "propiedad de portada" personalizados adicionales a una plantilla para que aparezcan en la lista desplegable de Propiedades del documento con un nombre personalizado? Por ejemplo, "Número de trabajo"? ¿Quizás editando directamente el XML de la plantilla?
Rick apoya a Monica el
@Rick no puede agregar propiedades de "portada" porque Word solo reconoce las predefinidas. Usted puede agregar propiedades que van a aparecer en la lista, pero que sea necesario SharePoint o hay que ser capaz de replicar lo que crea SharePoint. Si tiene SharePoint y puede crear una Biblioteca de documentos con columnas personalizadas, un documento de Word abierto desde la biblioteca tendrá propiedades adicionales. una vez que se ha creado el documento, puede ser independiente usado, pero los controles de contenido no hacer el trabajo de la misma manera (sobre todo, sin la validación del servidor)
Gracias. Me pregunto si sería posible editar directamente el archivo XML (ya que el archivo .dotx es poco más que un documento ZIP) y agregar las propiedades personalizadas de esa manera. Solo tendría que hacerlo una vez. Gracias por tu ayuda.
Rick apoya a Monica el
1
Podría, pero el XML que utiliza Word es bastante complicado (hay una parte XML personalizada que define un esquema para las diversas "metapropiedades" en el documento. Tampoco ese XML se describe en detalle en ningún lugar que conozca, por lo que necesita un punto de partida que alguien ha creado en SharePoint. Por cierto, estas cosas están tan obviamente diseñadas para usar con SharePoint que es poco probable que alguna vez obtengas soporte mientras lo usas de forma independiente. Además, probablemente causaría dificultades si alguien almacenara documentos creados de esta manera en su propio sistema SharePoinnt.
Entendido. Probablemente no esté más allá de mi capacidad, pero tampoco merece la pena darse el tiempo. Exploraré otras vías para resolver mis problemas.
Rick apoya a Monica el