¿WORD macro?

Hola, mi problema es el siguiente:
Tengo un archivo en formato TXT. Este archivo tiene la información de una factura, o sea, tiene nombre de empresa, articulo, cantidad, etc etc.
Como puedo hacer para "armar" un layout en WORD, el cual va a tener imágenes, logos, etc, ¿y de una forma automática "cargar" el archivo TXT en ese layout de word?
Espero haber sido claro en mi pregunta.
Gracias
Pd. Mi experiencia en macros o programación para WORD es nula, aunque soy programador en PROGRESS, así que espero no tener problemas en seguir tu consejo.

2 respuestas

Respuesta
1
No te entendí muy bien en cuanto a lo del archivo TXT. Hay un TXT por cada factura o en un solo archivo están reunidos los valores de correspondientes de todas las facturas producidas.
Si el caso es el ultimo, quizás te pueda servir la opción de combinar correspondencia que trae el word.
Te explico como funciona:
Suponemos que el archivo de texto contiene todos los datos de las facturas, y que los valores asignados a cada campo están separados por medio de ";" (punto y coma), así:
IDFACTURA;PRODUCTO;CANTIDAD;VALOR;TOTAL
001;producto1;2;1000;2000
002;otroproducto;5;500;2500
Nota que el archivo contiene un encabezado con el nombre del campo, estos encabezados son necesarios para producir lo que espero sea lo que necesitas.
Suponiendo que tienes el archivo TXT con esta estructura, los pasos a realizar en word son bastantes sencillos:
1. Creas el layout o "plantilla" (me gusta el castallano) de la forma en la que tu lo desees y dejando espacio el espacio para colocar el nombre de los campos que deseas insertar en una intentar determinada.
2. Después de crear la plantilla, vas al menu Herramientas -> combinar correspondencia. En el paso numero uno: "documento principal" seleccionas carta modelo, en el cuadro de dialogo que te aparece escoges "ventana activa". En el segundo paso "origen de datos" seleccionas abrir origen de datos y seleccionas el archivo TXT en el que tienes la información. Te aparece un cuadro de dialogo en el que se te informa que en el documento no se han encontrado campos para combinar. Haces clic en modificar documento principal y estarás de nuevo frente a la plantilla que habías creado anteriormente.
3. Estando en la plantilla notaras que ha aparecido una nueva barra de herramientas. Te posicionas donde quieres insertar el campo deseado y vas al "menu" insertar campo de combinación que se encuentra en la barra que había aparecido anteriormente. Seleccionas el campo que deseas insertar en la intentar actual y listo. Realiza los mismos pasos con los demás campos.
4. Cuando ya tengas todos los campos posicionados vas al icono "combinar en nuevo documento" que se encuentra en la barra mencionada anteriormente y ahí esta. Un nuevo documento en el que aparece cada uno de los layout separados por un salto de sección.
...
...
Si esto no es lo que necesitas, me preguntas de nuevo siendo un poco más claro en lo que deseas hacer y como lo deseas hacer, y si tengo la capacidad de hacerlo, con mucho gusto te ayudo.
Bye
PD: je je mi experiencia en macros o en programación para WORD tampoco es buena. Por ahora estoy programando en perl y creo que seguiré con él. Aunque practicar VBA no es nada malo.
Respuesta
1
La macro la grabaste en un .dot lo cual significa que es un archivo plantilla y eso facilita las cosas.
Para que se corra automáticamente, en Word ve a Herramientas/Plantillas y complementos y donde dice plantilla escribe "aero" y marcas Actualizar estilos.
Si esto no funciona vuelves a hacer el proceso pero agregas la plantilla en el botón Agregar.
Suerte.
Juankarloz
Hola, ya pude hacer lo que necesitaba, incluso ya tengo la macro y un botón para ejecutarla; ¿La macro y el botón están en un archivo que llame "aero.dot". Hay alguna forma de que cuando abra este archivo se ejecute automáticamente la macro? Esto es para hacerle aun más fácil el trabajo al usuario. Leí en todoedxpertos algo similar para excel, pero no entendí nada.
Saludos
Hola, ya hice lo que me indicaste y no pasa nada.
La cuestión es esta, en aero.dot tengo una macro y un button customizado. Ese botón(que dispara la macro) lo que hace es, básicamente, combinar correspondencia leyendo la info de un archivo fijo y generar unos nuevos archivos ".doc". Entonces, resumiendo, lo que hace el usuario es, abre el aero.dot, presiona el botón customizado. Y ya.
Lo que me gustaría es que el usuario no tenga que presionar el botón customizado, sino que al abrir el archivo .dot automáticamente se disparara la macro.
Gracias
Quise decir "Entonces, resumiendo, lo que hace el usuario HACE es, abre el aero.dot, presiona el botón customizado. Y ya. "
Aclaro que no quiero que la plantilla aero.dot sea default siempre que el usuario abra word. No. Lo que necesito es que cuando el usuario abra intencionalmente (o sea, manualmente)la plantilla aero.dot, automáticamente se dispare la macro que tengo ahí creada. La macro se llama "carga1".
Gracias.
Word quizá no ejecute macros al abrir un documento pero si al abrir Word.
Es decir, puedes crear un acceso directo a tu documento de Word con el sufijo /mnombreMacro.
El /m impide que Word ejecute macros AutoExec y el nombreMacro lo cambias por carga1.
Quedando posiblemente el acceso directo así:
c:\mis documentos\midoc.doc /m carga1
Espero que te sirva. Suerte
Juankarloz
Otro experto me dio las instrucciones para ejecutar la macro al abrir el documento de word; en el editor de visual basic, se crea Private Sub Document_Open() y ahi se agrega la ejecucion de la macro con un Application.Run MacroName:="nombremacro" .
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas