Quisiera escoger una palabra en WORD con VB

Quiero hacer una plantilla en WORD, donde en algunos puntos específicos dentro del texto, yo pueda escoger, es decir,

Dirección de funciones

XXXXXX

Y POR pueda escoger si es el analista, asiente, secretaria, project, entre otros

1 respuesta

Respuesta
1

Hay varias formas de hacerlo...

Una de ellas, sería incluir un cuadro combinado (con las opciones de Formularios) dentro del documento Word y que permita elegir de la lista la palabra que deseas.

La otra forma, sería un poco más compleja, pero más elegante...
Tendrías que crear un nuevo formulario que te muestre los campos en los que necesitas elegir un valor... Al final del formulario un botón TRASPASAR DATOS o algo asi, que sirva para trasladar esos valores a donde corresponda en el formulario.
En el documento Word, debes insertar marcadores en las posiciones que desees reemplazar con los campos del formulario. Cada marcador debe ser único (nombre único).

Así pues, en el botón de TRASPASAR DATOS, el código que tendrías que insertar sería algo como esto:

ActiveDocument.Bookmarks("Marcador en Word").Range.Text = Me.CampoFormulario

Con esto, conseguirías que se abriese una ventana al abrir el formulario donde te pide los datos.... Una vez rellenados los datos, cerraría el formulario y quedaría el documento Word perfectamente cumplimentado.

Tengo varios documentos hechos así... no tendría inconveniente en enviarte alguno para que te sirva de ayuda.

Muchas gracias por tu respuesta, si puedes compartir esos documentos, para tenerlo como ejemplo, seria de mucha utilidad, y así crear lo que necesito.

Mi correo electrónico es [email protected]

Saludos

una consulta, he estadio revisando la macro, y me gustaría poder entender, bajo el archivo enviado

If Me.PUNT1 = True Then

ActiveDocument.Bookmarks("A1").Range.Text = "X"
End If

he tratado de encontrar la info donde hace referencia a estos puntos, por favor, ayuda

-Acabo de enviarte los documentos con los cambios que tu necesitas.

Siempre que veas "ME." está indicando que es un campo de un formulario o un informe... por tanto, ME. Punt1 se refiere al campo Punt1 del formulario.

ActiveDocument. Bookmarks("A1"). Range.Text hace referencia al texto del marcador denominado como A1 y le está indicando que ponga una "X" en la posicion de ese marcador.

En resumen, esta instrucción indica que si el valor del campo PUNT1 es cierto (es un campo de "Si/No"), entonces, que situe una X en la posición del marcador.

Bastante interesante, 

de acuerdo a lo indicado, que pasaría, que en vez de ponerle una X, quisiera que la información de marcador A1, sea eliminada

cual seria el comando

ActiveDocument. Bookmarks("A1"). Range.Text hace referencia al texto del marcador denominado como A1 y le está indicando que ponga una "X" en la posicion de ese marcador.

ActiveDocument.Bookmarks("A1").Range.Text = ????

Esta respuesta es bien fácil..

ActiveDocument.Bookmarks("A1").Range.Text = Null

Pero el marcador debe ser todo el texto que necesites borrar... Así pues, debes marcar el texto que quieres borrar, y luego darle a la opción Insertar->Marcador.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas