¿Cómo puedo mostrar un formulario de usuario y esperar a que se ejecute el código, al mismo tiempo que tengo acceso a otros documentos?
En Word VBA, quiero mostrar un formulario de usuario e ingresar información en cuadros de texto y casillas de verificación. Sin embargo, me gustaría poder acceder y desplazarme en otros documentos de Word.
Quiero que aparezca un formulario de usuario, insertar texto y marcar casillas de verificación, poder desplazarme en otros documentos y luego presionar un botón de comando para ocultar el formulario de usuario y ejecutar el resto del código.
Establecí la función ShowModal del formulario de usuario en False. Esto me ayudó a acceder a otros documentos y poder desplazarme en ellos. Sin embargo, mi código seguirá ejecutándose, por lo que no puedo usar la información en los cuadros de texto y casillas de verificación del formulario de usuario, ni siquiera permitir que un usuario ingrese información en los cuadros de texto.
Un script simple para mostrar este concepto.
Sub testing()
UserForm1.Show
MsgBox ("Hola, " + UserForm1.TextBox1.Value)
Unload UserForm1
End Sub
El formulario de usuario se muestra a continuación.
Quiero abrir el formulario de usuario, ingresar un nombre mientras puedo hacer clic en otro documento de Word, luego hacer clic en el botón OK. Si lo cambio a Userform1.Show vbModeless
, el cuadro de mensaje mostrará “Hola,” y luego cerrará el formulario de usuario enseguida.
davy.ai
Para lograr la funcionalidad deseada de poder acceder y desplazarse en otros documentos de Word mientras aún se puede utilizar y manipular la información en el formulario de usuario, se debe utilizar
Userform1.Show vbModeless
en lugar deUserform1.Show
. Esto permitirá al usuario interactuar con el formulario y otros documentos simultáneamente. Además, el botón de comando en el formulario de usuario debe tener el código para ejecutar el resto del código y ocultar el formulario de usuario, comoUnload Userform1
. De esta manera, la información en los cuadros de texto y casillas de verificación se puede utilizar y el usuario aún puede acceder y desplazarse en otros documentos de Word.El script modificado sería:
Y el botón OK en el formulario de usuario debería tener el código: