Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Elpescador en 13 Noviembre 2019, 13:23 pm



Título: Captura del valor introducido en campos documento word activo en variables
Publicado por: Elpescador en 13 Noviembre 2019, 13:23 pm
Buenos días, saludos a todos.
Aún tratándose de un tema de word, necesito montar una macro o módulo en visual basic, lo que me indiqueis que es mejor, para realizar una captura del valor de los campos de un documento activo en word y guardar esos valores para usarlos como nombre del archivo al guardar el documento.

Ejemplo:

El documento activo "documento1" se genera desde una plantilla y dispone de una macro que realiza una serie de tareas y se ejecuta mediante un botón creado en la barra de herramientas de acceso rápido del  word.
El documento activo dispone de varios campos como por ejemplo Nombre , Localización, edad, estudios. Pues bien, necesito incluir en la macro un proceso que guarde el documento con el nombre del valor introducido en dos de los campos, en concreto Nombre y Localización.

Nombre: Antonio Perez
Localización: Larios 25

El documento se deberá guardar con el nombre de:  Antonio Perez Larios 25.docx

Se me olvidaba decir que los campos están montados con el boton word:  Control de contenido con texto enriquecido, por lo que no se si será mejor cambiar estos por campos de algún tipo concreto. El problema es que es documento word y no un formulario en excel o access que sí se cómo tendría que hacerlo, pero word lo desconozco totalmente.

Espero haberme explicado. Muchas gracias anticipadas y aprovecho para felicitar por este foro que en otras ocasiones me ha servido tremendamente. Saludos y gracias de nuevo.


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: Serapis en 13 Noviembre 2019, 18:28 pm
En todo el mundo  ;D mundial, creo sinceramente  :laugh: :laugh: que eres el úncio que ha tneido 'ese problema' :silbar: . Y como nadie jamás lo ha tenido  ;-) por supuesto no existe solución en 'Vaguel' digo 'Boogle', digo Google...  :P y es pro eso que vienes a preguntar aquí.

Oración de los vagos:
San Vaguel, patrón de los vagos, te pedimos para que dentro de 10 minutos tengas 53 millones de resultados solo con los términos: "VBA word"

..."et voilá..."
Tus deseos serán cumplidos (http://"https://www.google.es/search?source=hp&ei=XDrMXfLhFrCXlwSR8bH4Cw&q=VBA+word&oq=VBA+word&gs_l=psy-ab.3..0l10.5936.11109..17517...0.0..0.240.1236.0j6j2......0....1..gws-wiz.....0..0i10.0RlrUR4TLgU&ved=0ahUKEwjy_4-s2OflAhWwy4UKHZF4DL8Q4dUDCAU&uact=5")

Mocosoft.ModoVisible=TRUE      (si no, imposible encontrarlo) (http://"https://docs.microsoft.com/en-us/office/vba/api/overview/word/object-model")

...y San Vaguel ¿podrías también proveernos 2 millones de ejemplos dentro de 3 segundos?:
 Si, y además en español, of course (http://"https://www.google.es/search?ei=cTrMXaOTFdiV8gL0pY_oBw&q=vba+word+ejemplos&oq=VBA+word+e&gs_l=psy-ab.1.0.0j0i22i30l9.169748.173026..176788...0.2..0.170.306.0j2......0....1..gws-wiz.......0i71.otXPTNTnbkQ")


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: Elpescador en 13 Noviembre 2019, 20:00 pm
Saludos amigo NEBIRE..

Lamento que alguien que considera vagos a los demás sin tener ni puñetera idea de con quien habla conteste una pregunta de un foro. Particularmente he de decirte que tengo y he tenido mogollón de páginas web en las que de temas variados he y hemos ayudado a todo el que ha pedido ayuda y como suelo pecar de educado nunca he tomado conclusiones sobre nada ni nadie sin un conocimiento adecuado.

La pregunta la hago en este foro porque tenía muy buen concepto de el, aunque ahora veo que ha debido cambiar bastante cuando la estupidez y la mala educación aparecen en sus hilos. En foros  como el de todoexpertos (del que formo parte y ayudo todo lo que puedo en excel y access) o en de Desarrollo  de Microsoft no he encontrado un hilo sobre este tema, y en foros de los que soy administrador nunca permitiría aptitudes de enajenados mentales ajenas a los ideales de foros de ayuda.

Nunca he trabajado con Word y lo desconozco en su totalidad, por eso al ser en extremo urgente y no encontrar un hilo sobre el tema pensé en el hacker como el sitio adecuado para buscar ayuda.

Lo dicho.... Es una pena que en un foro que conozco desde hace tantos años se encuentren personas como tú y por cierto... Para oraciones aquí te paso una: Se adquiere la condición de despreciable cuando tan solo pasan 10 minutos  desde que aprendes algo nuevo hasta que miras con desprecio a quien todavía no lo sabe.”

Aprovecho para saludar de nuevo a todo el foro, ya que aunque aquí veo no se saluda a los nuevos, en todos los que conozco  se suele hacer y también aprovecho para indicar a los administradores que hagan el favor de no borrar este hilo porque realmente mi pregunta es urgente.


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: Serapis en 13 Noviembre 2019, 20:27 pm
Mucho foro citas... pero te repito 'San Vaguel' tiene que ser SIEMPRE la primera opción... cuando no es así, es el nombre que s eaplica.

...y además más grave pués si bien para los jóvenes novatos es algo perdonable para que alguien que alega tener cierta antigüedad en estos bagajes, lo es menos.


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: Elpescador en 13 Noviembre 2019, 20:42 pm
Como 30 años llevando administraciones de foros de ayuda y jamás  he permitido esto.
Se nota que tu sí que eres novato en foros de ayuda, debes ser muy niño. Pero por eso no te preocupes, cuando tengas una urgencia no todo el mundo piensa como tu y verás como la vida te enseña muchas cosas.
No merece la pena perder más tiempo en majaderías. Que tengas un bonito día.


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: MCKSys Argentina en 13 Noviembre 2019, 21:38 pm
Hola!

El primer resultado de la busqueda de Google (https://www.google.com/search?q=word+active+document+vba) que hice me dió con la base de lo que estás buscando: https://docs.microsoft.com/en-us/office/vba/api/word.document (https://docs.microsoft.com/en-us/office/vba/api/word.document)

Y desde ahí, sólo basta con mirar el listado de la izquierda para llegar a la propiedad que necesitarás usar: https://docs.microsoft.com/en-us/office/vba/api/word.document.fields (https://docs.microsoft.com/en-us/office/vba/api/word.document.fields)

Ahora sólo debes jugar un poco con las propiedades y métodos para lograr tu objetivo.

Saludos!

PD: Creo que un foro no es lo mejor para temas urgentes.


Título: Re: Captura del valor introducido en campos documento word activo en variables
Publicado por: Elpescador en 14 Noviembre 2019, 14:00 pm
Muchísimas gracias MCKSys Argentina

Te agradezco muchísimo la atención que prestas y la disposición desinteresada para echar una mano al que lo necesita ....

Debido a la premura he resuelto el tema a la inversa, en lugar de capturar los valores del documento ( que no era un formulario ), lo he convertido en formulario (con estos sí me defiendo bastante bien)  y así  no hay dificultad en tener  los valores de cada input. Total, al final solo montas una variablesuma con la unión de todas y ya tenemos el nombre completo para guardar el documento con el habitual ActiveDocument.SaveAs variablesuma

No queria trabajar con formularios que es a lo que estoy acostumbrado por no echar abajo el trabajo de otros con montones de documentos ya hechos, pero que le vamos a hacer.

Gracias de nuevo ...

Saludos y felicidades por este magnifico foro.