Imagen: Adobe Stock

La mayoría de nosotros trabajamos con al menos un documento de Microsoft Word que cambia muy poco. Por ejemplo, puede enviar un contrato genérico o una propuesta que actualice la información del cliente y la estructura de tarifas, mientras que el resto del contenido permanece igual. Confiar en la vista para editar manualmente el contenido que altera las posibilidades de errores tipográficos y actualizaciones perdidas. Cuando necesite este tipo de documento, considere usar los controles de contenido de Word para actualizar los controles dependientes en función de los resultados de otro.

En este tutorial, le mostraré cómo completar un menú desplegable de control de contenido con nombres de clase. En el cuerpo del documento, agregaremos tres controles de contexto de cuadro de texto. Cuando elige una clase de la lista desplegable, los controles de texto enlazados se actualizarán con el nombre de la clase, el maestro y el límite de estudiantes en el cuerpo del documento. Puede modificar fácilmente los controles si es necesario; y puede descargar los archivos de demostración.

VER: Comandos de Windows, Linux y Mac que todos deberían conocer (PDF gratuito) (TechRepublic)

Estoy usando Microsoft 365 en un sistema Windows 10 de 64 bits, pero puede usar versiones anteriores hasta Word 2010. Word para la web no es compatible con VBA.

Índice
  • ¿Qué es un control de contenido en Word?
  • Cómo agregar un control de contenido desplegable en Word
  • Cómo ingresar controles de contenido de cuadro de texto en Word
  • Cómo agregar un procedimiento VBA en Word
  • ¿Qué es un control de contenido en Word?

    Los controles de contenido en Word son contenedores de contenido que permiten a los usuarios crear documentos estructurados. Un documento estructurado controla dónde aparece el contenido en el documento. Utilizará este tipo de documentos cuando haya muy pocos cambios en el documento de un uso a otro. Al insertar controles de contenido, puede modificar las pocas instancias de contenido que deben modificarse.

    Al conectar estos controles, puede actualizarlos todos con un solo control. Cuando hace esto, crea lo que se llama controles enlazados.

    Los controles de contenido tienen muchas propiedades y son similares a los controles heredados, pero pueden ser más fáciles de usar y formatear. De forma similar a los controles heredados, puede automatizar el control mediante VBA (Visual Basic para aplicaciones), pero utilizará un procedimiento de evento de VBA en lugar de una propiedad de control como lo hace con los controles heredados en Word.

    La mejor manera de aprender sobre los controles de contenido es usarlos, eso es lo que haremos a continuación.

    Cómo agregar un control de contenido desplegable en Word

    Todos los controles están disponibles a través de la pestaña Desarrollador de Word. Como puedes ver en Figura A, hay varios controles de contenido y los controles heredados todavía están disponibles. Recomiendo usar controles de contenido siempre que sea posible, ya que los controles heredados pueden desaparecer sin previo aviso.

    Figura A

    sección de referencias en word resaltada con controles heredados en un círculo
    Utilice controles de contenido cuando sea posible.

    Usaremos la lista desplegable Control de contenido del cuadro combinado para proporcionar algunas opciones para el usuario del documento. Después de que el usuario elige una opción de la lista desplegable (una clase) y sale de la lista desplegable, un procedimiento de VBA actualiza tres controles de contenido de cuadro de texto en el cuerpo del documento con el nombre de la clase y del maestro y el límite. de estudiantes. Puede agregar tantos controles de texto como necesite.

    Ahora, para ingresar a la lista desplegable, abra un documento en blanco y coloque el cursor donde desea que aparezca la lista desplegable. Haga clic en la pestaña Desarrollador y, a continuación, en el grupo Controles, haga clic en el icono Control de contenido del cuadro combinado. Nuevamente en el grupo Controles, haga clic en Propiedades e ingrese Clase como título.

    Para completar la lista desplegable, haga clic en Agregar en la sección Propiedades desplegables. En el cuadro de diálogo resultante, ingrese Biología (Figura B) y haga clic en Aceptar. Word ingresa automáticamente el mismo nombre para el parámetro Valor. No utilizaremos este parámetro.

    Figura B

    Menú Propiedades desplegable con el botón Agregar dentro de un círculo
    Inserte un cuadro combinado de cuadro combinado en el documento.

    Seleccione Agregar nuevamente en la sección Propiedades de la lista desplegable y repita el proceso para Anatomía y Física (Figura C). Haga clic en Aceptar.

    Figura C

    Menú de propiedades del control de contenido que se está llenando
    Comience a completar la lista desplegable.

    Figura D muestra la lista desplegable en el documento. A continuación, crearemos el cuerpo del documento, que incluirá tres controles de contenido de cuadros de texto enlazados que mostrarán la clase por nombre, profesor y límite de alumnos.

    Figura D

    la lista desplegable de control de contenido de muestra completa
    La lista desplegable completa.

    Cómo ingresar controles de contenido de cuadro de texto en Word

    El cuerpo del documento tendrá una oración. Tres controles de texto serán el contenido dependiente, combinado con contenido estático. Figura E muestra el documento completo con los controles vacíos en el modo de diseño. No tiene que trabajar en modo de diseño, pero es más fácil ver los controles, el contenido estático y los espacios entre ellos.

    Figura E

    contenido estático en documento de Word con controles de texto mixto
    Introduzca el contenido estático y los tres controles de texto.

    A continuación, agreguemos los tres controles que se actualizarán. Coloque el cursor unas pocas líneas debajo de la lista desplegable. En el grupo Controles, haga clic en el icono Control de contenido del cuadro de texto para insertar el primer control de texto.

    Haga clic en Propiedades en el grupo Controles y nombre el control ClassRepeat (Figura F). Haga clic en Aceptar para cerrar este cuadro de diálogo.

    Figura F

    Abrir el menú Propiedades del control de contenido
    Asigne al control de texto un nombre significativo.

    Presione la barra espaciadora, luego ingrese el contenido estático enseñado por; asegúrese de ingresar un espacio después de "por".

    Repita este proceso y nombre al segundo control de texto Profesor. Siga el segundo control de texto con el texto estático y se limita a, nuevamente, agregar espacios antes de "y" y después de "a".

    Repita este proceso y asigne al tercer control de texto el nombre Límite. Siga el tercer y último control de texto con alumnos de texto estático. Se agregó un espacio antes de "estudiantes".

    En este punto, su documento debe verse como el que se muestra anteriormente en Figura E. Si elige un elemento de la lista desplegable, no pasará nada con los tres controles de texto. Para actualizar estos controles, agregaremos un procedimiento VBA.

    Cómo agregar un procedimiento VBA en Word

    El documento está listo y el siguiente paso es agregar el procedimiento VBA que utiliza la elección del usuario de la lista desplegable, denominada Clases, para actualizar los tres controles de texto, denominados ClassRepeat, Profesor y Límite.

    Antes de iniciar el procedimiento, guarde el archivo como un archivo habilitado para macros. Luego ingresa Lista A presionando Alt+F11 para abrir el Editor de Visual Basic (VBE). En el Explorador de proyectos de la izquierda, haga doble clic en Este documento para abrir este módulo. Puede ingresar el código manualmente o importar el archivo .cls descargable. Además, el procedimiento se encuentra en el archivo .docm descargable. Si ingresa el código manualmente, no lo pegue desde esta página web. En su lugar, copie el código en un editor de texto y luego péguelo en el módulo ThisDocument. Esto eliminará los caracteres web fantasma que, de lo contrario, podrían causar errores.

    Lista A

    Subdocumento privado_ContentControlOnExit(ByVal ContentControl As ContentControl,

    cancelar como booleano)

    'Los campos de texto se actualizan automáticamente después de que el usuario elige un elemento en el control de contenido desplegable.

    'Los campos dependientes no se borran entre usos.

    En caso de error GoTo ErrHandler:

    Dim objCC como control de contenido

    Para cada objCC en ActiveDocument.ContentControls

    Si objCC.Title = "Clase" Entonces

    Seleccione el caso objCC.Range.Text

    Caso "Biología"

    ActiveDocument.SelectContentControlsByTitle("ClassRepeat").Item(1).Range.Text = "Biología"

    ActiveDocument.SelectContentControlsByTitle("Profesor").Item(1).Range.Text = "Profesor Hoffman"

    ActiveDocument.SelectContentControlsByTitle("Límite").Item(1).Range.Text = "15"

    Caso "Anatomía"

    ActiveDocument.SelectContentControlsByTitle("ClassRepeat").Item(1).Range.Text = "Anatomía"

    ActiveDocument.SelectContentControlsByTitle("Profesor").Item(1).Range.Text = "Profesor Douglas"

    ActiveDocument.SelectContentControlsByTitle("Límite").Item(1).Range.Text = "10"

    Caso "Física"

    ActiveDocument.SelectContentControlsByTitle("ClassRepeat").Item(1).Range.Text = "Físico"

    ActiveDocument.SelectContentControlsByTitle("Profesor").Item(1).Range.Text = "Profesor Collins"

    ActiveDocument.SelectContentControlsByTitle("Límite").Item(1).Range.Text = "6"

    'caso más

    Fin de la selección

    Terminara si

    siguiente objeto

    Establecer objCC = Nada

    Sal del submarino

    Manejador de errores:

    MsgBox Err.Number & ” ” & Err.Descripción

    Establecer objCC = Nada

    Título final

    Después de ingresar al procedimiento en el módulo ThisDocument, regrese al documento en Word. Si el documento todavía está en modo de diseño, haga clic en Modo de diseño en la pestaña Desarrollador para salir del modo de diseño.

    Para ejecutar el procedimiento, elija un elemento de la lista desplegable Clases y presione Tab para salir del control. Esto activará el procedimiento en Lista A. Como puedes ver en figura gel procedimiento actualiza inmediatamente los tres controles de texto.

    figura g

    La anatomía es impartida por el profesor Douglas y tiene un límite de 10 estudiantes.
    Elija un elemento de la lista desplegable para actualizar los tres controles de texto y completar la oración.

    Cuando apliques esta técnica a tu propio trabajo, tendrás que personalizarlo todo. Actualizar algunas instancias de contenido en un documento que permanece esencialmente igual es fácil cuando usa controles de contenido en Word.