Cómo crear un formulario de usuario en Word para solicitar elementos de dirección

Los formularios de usuario son una excelente manera de solicitar información. Por ejemplo, puede mapear algunos marcadores mediante un poco de código VBA y, con un simple clic, generar los elementos de dirección para una carta. Siguiendo estos 10 pasos, puede crear una plantilla de formulario de usuario que solicite elementos de dirección a un usuario.

Hay mucho en funcionamiento, pero la parte importante de esta técnica es asignar los controles del formulario de usuario a los marcadores en la plantilla. Utilicé este método para generar elementos de dirección en un documento de carta simple (para simplificar el ejemplo); puede usar el mismo proceso para tareas más complicadas de captura de datos.

Nota: Puede descargar la plantilla de muestra para esta técnica.

Índice de Contenido
  1. 1: Comience con un diseño básico
  2. 2: Cree el formulario de usuario
  3. 3: Rellena los controles
  4. 4: Automatiza el saludo
  5. 5: Agregue el código que genera la carta
  6. 6: Agregar el código que ejecuta el formulario de usuario
  7. 7: Automatiza el formulario de usuario
  8. 8: Insertar los marcadores
  9. 9: Guarde como una plantilla
  10. 10: Abra la plantilla
  11. Ponga el formulario de usuario a trabajar
  12. Consideraciones adicionales

1: Comience con un diseño básico

Su diseño inicial debe incluir el tipo de control adecuado para cada elemento de dirección y un nombre para cada control. La Tabla A identifica el tipo de control, el nombre del control y el nombre del marcador para cada elemento de dirección. El botón de comando copiará los valores de entrada del formulario de usuario a la carta. El marcador bmAddress2 se enumera varias veces porque combinaremos la ciudad, el estado y el código postal en una sola línea. No hay problema si las cosas cambian a medida que avanza. Esto es solo algo para que empieces.

Tabla A

Utilizaremos estos elementos de dirección para el formulario.

2: Cree el formulario de usuario

Usando Figura A como guía, agregará los controles enumerados en la Tabla A a un formulario de usuario. Primero, abra el Editor de Visual Basic presionando [Alt] + [F11]. Luego, elija UserForm en el menú Insertar para mostrar un formulario de usuario en blanco y la Caja de herramientas. Si no ve la Caja de herramientas, elija Caja de herramientas en el menú Ver. Si desaparece en cualquier momento, simplemente haga clic en el formulario de usuario.

Figura A

Agregue estos controles al formulario de usuario en blanco.

Después de agregar los controles, asígneles un nombre a través de la ventana Propiedades. Si no ve esa ventana, presione [F4]. Establezca la propiedad MultiLine del cuadro de texto de Dirección en Verdadero. (Para organizar los controles, selecciónelos y elija las opciones adecuadas en el menú Formato.)

10 cosas que TI debe hacer para asegurar el valor de sus aplicaciones

3: Rellena los controles

Utilizaremos VBA para rellenar los controles de fecha y estado cuando ejecute el formulario. Para abrir el módulo del formulario, haga doble clic en el formulario de usuario. Luego, ingrese el siguiente código:

Private Sub UserForm_Initialize()
'Rellena cboState en ufAddressLetter.
Me.cboState.List = Split("AL AK AZ AR CA CO CT DE DC FL GA" _
 & "HI ID IL IN IA KS KY LA ME MD MA MI MN MS MO MT NE NV NH" _
 & "NJ NM NY NC ND OH OK OR PA RI SC SD TN TX UT VT VA WA" _
 & "WV WI WY")
'Rellena txtDate en ufAddressLetter. Puede sobrescribir este valor.
Me.txtDate.Value = Format(Now, "mmmm dd, yyyy")
End Sub

Haga doble clic en ufAddressLetter en la ventana del proyecto para volver al formulario. Para ver el código en funcionamiento, presione [F5] para ejecutar el formulario de usuario. Al hacerlo, se rellenarán los dos controles, como se muestra en Figura B.

Figura B

El evento Inicializar del formulario de usuario rellena dos controles.

4: Automatiza el saludo

Regrese al módulo y agregue el siguiente código, que llenará automáticamente el control de saludo utilizando el primer nombre ingresado en txtName:

Private Sub txtName_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Relleno automático para el control de saludo.
On Error Resume Next
Me.txtSalutation = "Estimado/a " & Left(txtName, InStr(Me.txtName, " ") - 1) & ":"
On Error GoTo 0
End Sub

Utilice los controles Objeto y Procedimiento del VBE para ingresar el procedimiento (las líneas Sub y End Sub) y asegurarse de que los argumentos referenciados sean correctos.

5: Agregue el código que genera la carta

Utilizando la Tabla A, ya está listo para asignar los controles del formulario de usuario al código que transferirá los valores de entrada del formulario de usuario a la carta. (Los marcadores aún no existen, pero está bien). Haga doble clic en el formulario de usuario para volver a su módulo y luego ingrese el siguiente código:

Private Sub cmdAddLetter_Click()
'Copia elementos de la carta a la plantilla de carta desde el formulario de usuario
Dim bmks As Bookmarks
Dim bmRange As Range
'Pasa los valores del formulario de usuario a los marcadores del documento.
Set bmks = ActiveDocument.Bookmarks
Set bmRange = ActiveDocument.Bookmarks("bmDate").Range
bmRange.Text = Me.txtDate.Value
Set bmRange = ActiveDocument.Bookmarks("bmName").Range
bmRange.Text = Me.txtName.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress").Range
bmRange.Text = Me.txtAddress.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress2").Range
bmRange.Text = Me.txtCity.Value & ", " _
 & Me.cboState.Value & " " _
 & Me.txtZip.Value
Set bmRange = ActiveDocument.Bookmarks("bmSalutation").Range
bmRange.Text = Me.txtSalutation.Value
Me.Hide
End Sub

6: Agregar el código que ejecuta el formulario de usuario

Necesitará una macro para mostrar el formulario de usuario. Abra el módulo ThisDocument (desde el Explorador de proyectos) e ingrese este procedimiento corto:

Consejos para lucir profesional en presentaciones y entrevistas
Sub RunUserForm()
'Ejecutar sfAddressLabel
Dim frm As New ufAddressLetter
frm.Show
End Sub

7: Automatiza el formulario de usuario

Hay un último trozo de código para agregar. Aún en el módulo ThisDocument, ingrese el siguiente código:

Sub AutoNew()
'Ejecutar ufAddressLetter al abrir el archivo.
Call RunUserForm
End Sub

Word ejecutará este código para mostrar el formulario de usuario cada vez que abra el archivo.

8: Insertar los marcadores

Ahora que el formulario de usuario y su código están en su lugar, regrese al documento de Word en blanco para poder insertar los marcadores. Mostrar los marcadores facilitará este paso:

  1. Haga clic en la pestaña Archivo y luego haga clic en Opciones (debajo de Ayuda). En Word 2007, haga clic en el botón Office y luego elija Opciones de Word. En Word 2003, elija Opciones en el menú Herramientas, haga clic en Ver y vaya al paso 3.
  2. Haga clic en Avanzado en el panel de la izquierda.
  3. Marque Mostrar marcadores en la sección Mostrar contenido del documento. (En Word 2003, es la sección Mostrar).
    Haga clic en Aceptar.

Figura C

Marque la opción Mostrar marcadores.

Consulte la Tabla A para obtener los nombres de los marcadores y use Figura D como guía de ubicación para insertar cada marcador de la siguiente manera:

  1. Haga clic en la pestaña Insertar. En Word 2003, elija Marcador del menú Insertar y vaya al paso 3.
  2. Haga clic en Marcador en el grupo Vínculos.
  3. Ingrese el nombre de su marcador. Por ejemplo, su primer marcador será bmDate.
  4. Haga clic en Agregar.

Ahora, inserte los marcadores restantes.

Figura D

Mostrar los símbolos de marcador hace que sea más fácil insertar varios marcadores.

9: Guarde como una plantilla

Lo más probable es que no esté tomando todas estas molestias por un solo documento, por lo que querrá guardar su trabajo como una plantilla. Hágalo de la siguiente manera:

10 consejos para aprovechar al máximo las funciones de formato de Excel
  1. Haga clic en la pestaña Archivo (botón Office en 2007) y haga clic en Guardar como. En Word 2003, elija Guardar como en el menú Archivo y vaya al paso 3.
  2. Haga clic en Plantillas de confianza en la barra de lugares. (Debe almacenar la plantilla en un lugar confiable para que funcione la macro AutoNew(). De lo contrario, deberá restablecer la configuración de seguridad de macro).
  3. Ingrese un nombre para el archivo. (En Word 2003, cambie la ubicación de la carpeta, según sea necesario).
  4. En el menú desplegable Guardar como tipo, elija Plantilla con macrohabilitación de Word (.dotm). En Word 2003, elija Plantilla de documento (.dot).
  5. Haga clic en Guardar.

10: Abra la plantilla

Para usar ufAddressLetter para generar la dirección de una carta, cree un nuevo documento basado en la plantilla de la siguiente manera:

  1. Haga clic en la pestaña Archivo (pestaña Office en 2007) y elija Nuevo. En Word 2003, elija Nuevo en el menú Archivo.
  2. En la sección Plantillas disponibles, haga clic en Mis plantillas. En Word 2003, elija una plantilla del panel Nuevo documento (a la derecha).
  3. Elija la plantilla y haga clic en Aceptar.

Ponga el formulario de usuario a trabajar

Cuando se abre por primera vez, el formulario de usuario se establece en la fecha actual. Al presionar [Tab] o [Enter] después de ingresar un nombre, el formulario completará el saludo. Puede cambiar ambos si lo desea. Al utilizar la función multilínea para ingresar una dirección con más de una línea, presione [Ctrl]+[Enter] para forzar el cursor a la siguiente línea en el control. Figura E muestra el formulario rellenado. Haga clic en el botón de comando Address Letter para generar la carta, como se muestra en Figura F, utilizando los valores de entrada.

Figura E

Rellene el formulario de usuario.

Figura F

Haga clic en el botón de comando para generar los elementos de dirección de su nueva carta.

Consideraciones adicionales

El código no tiene validación de datos ni manejo de errores. Tampoco hay código para borrar los marcadores. Para crear una nueva carta, en este caso, simplemente abriría un nuevo documento de plantilla. Puede volver a ejecutar RunUserForm utilizando la opción Macros en el grupo Código de la pestaña Desarrollador. Al aplicar esta técnica a formularios más complejos y documentos personalizados, puede manejar estas cosas de manera diferente.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Ultimas Noticias, allí encontraras muchos artículos similares a Cómo crear un formulario de usuario en Word para solicitar elementos de dirección , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.