[RESUELTO] Solución errores de una Macro importada MS Excel
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
[RESUELTO] Solución errores de una Macro importada MS Excel
Estimados:
Actualmete uso el OOo 3.2.0 y mi SO es Windows XP Version 2002 SP 3. He tratado de usar una macro que herede en un documento de Excel para hacer mi trabajo pero al parecer no existe compatibilidad. El nombre de la macro esta en la biblioteca "Standart" modulo "Modulo1" macro "GeneraArchivo". Lo que hace la macro es bien facil:
1- Desde un documento de hoja de calculo con: Mombre de empleado, saldo y numero de cuenta se genera un documento de *.txt con las siguientes caracteristicas:
a. Se generan tantas filas en el documento *.txt como empleados con: nombre del empleado + 10 espacios + un munero de 31 digitos que esta formado por: su mumero de cuenta + relleno ceros + saldo + fecha dia/mes/año.
Le adjunto la macro para ver si me pueden ayudar.
Actualmete uso el OOo 3.2.0 y mi SO es Windows XP Version 2002 SP 3. He tratado de usar una macro que herede en un documento de Excel para hacer mi trabajo pero al parecer no existe compatibilidad. El nombre de la macro esta en la biblioteca "Standart" modulo "Modulo1" macro "GeneraArchivo". Lo que hace la macro es bien facil:
1- Desde un documento de hoja de calculo con: Mombre de empleado, saldo y numero de cuenta se genera un documento de *.txt con las siguientes caracteristicas:
a. Se generan tantas filas en el documento *.txt como empleados con: nombre del empleado + 10 espacios + un munero de 31 digitos que esta formado por: su mumero de cuenta + relleno ceros + saldo + fecha dia/mes/año.
Le adjunto la macro para ver si me pueden ayudar.
- Adjuntos
-
- PlantillaRoles(Edity)_NewVersion.xls
- (87 KiB) Descargado 327 veces
Última edición por louis_cuba el Mié Mar 10, 2010 3:10 am, editado 1 vez en total.
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: Solucionar los errores de una Macro importada desde MS Excel
Hola...
Si con la activación del Código ejecutable no te funciona: http://user.services.openoffice.org/es/ ... able#p8327
Mi recomendación es reescribir la macro en OOo Basic aprovechando para optimizar algunas partes del código que están demás... también los formularios hay que rehacerlos... no es grande ni compleja pero tampoco es tan pequeña como para dedicarle todo el tiempo, si quieres ir empezando en mi libro tienes todos los elementos para hacerlo: http://user.services.openoffice.org/es/ ... =50&t=1545
Puedes ir publicando en este foro, tus dudas más puntuales o complicadas para ayudarte...
Saludos
Si con la activación del Código ejecutable no te funciona: http://user.services.openoffice.org/es/ ... able#p8327
Mi recomendación es reescribir la macro en OOo Basic aprovechando para optimizar algunas partes del código que están demás... también los formularios hay que rehacerlos... no es grande ni compleja pero tampoco es tan pequeña como para dedicarle todo el tiempo, si quieres ir empezando en mi libro tienes todos los elementos para hacerlo: http://user.services.openoffice.org/es/ ... =50&t=1545
Puedes ir publicando en este foro, tus dudas más puntuales o complicadas para ayudarte...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
Re: Solucionar los errores de una Macro importada desde MS Excel
Estimado Mauricio:
Muchas gracias por su respuesta. He comenzado la macro desde cero gracias a su libro que esta muy bueno. Pero aun necesito un par de funciones o propiedades de los objetos para completar el ingreso de la información y poder hacer el procesamiento. En resumen necesito:
1. Un función o Propiedades de un Objeto que me permita tomar los valores numéricos y de cadena de una celda. Dicha celda esta en una hoja que no es la activa en el documento de Calc.
2. Un función que me permita exportar las filas de un arreglo bidimencional a un documento *.txt
Le envio las gracias por adelantado.
Muchas gracias por su respuesta. He comenzado la macro desde cero gracias a su libro que esta muy bueno. Pero aun necesito un par de funciones o propiedades de los objetos para completar el ingreso de la información y poder hacer el procesamiento. En resumen necesito:
1. Un función o Propiedades de un Objeto que me permita tomar los valores numéricos y de cadena de una celda. Dicha celda esta en una hoja que no es la activa en el documento de Calc.
2. Un función que me permita exportar las filas de un arreglo bidimencional a un documento *.txt
Le envio las gracias por adelantado.
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: Solucionar los errores de una Macro importada desde MS Excel
Hola...
1.- En el capitulo 6.4 del libro tienes 20 páginas de como hacer todo eso...
2.- Dependiendo de como necesites el TXT final puedes exportar usando el API de OOo o escribiendo directamente el archivo, si es un archivo especial la segunda opción es la ideal pues te permite control total sobre el archivo final, anexa a este tema un archivo de como están los datos y un ejemplo de como quedaría el TXT y te ayudo con esto...
Saludos
1.- En el capitulo 6.4 del libro tienes 20 páginas de como hacer todo eso...
2.- Dependiendo de como necesites el TXT final puedes exportar usando el API de OOo o escribiendo directamente el archivo, si es un archivo especial la segunda opción es la ideal pues te permite control total sobre el archivo final, anexa a este tema un archivo de como están los datos y un ejemplo de como quedaría el TXT y te ayudo con esto...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
Re: Solucionar los errores de una Macro importada desde MS Excel
Mauricio:
Gracias por tu pronta respuesta. Te comento por temas:
1. Ya encontre la forma de extraer los valores numéricos y de cadena de cada celda en la pagina activa pero de la pagina que no está activa no encuentro como. A mi me gustaria poder llamar a este metodo por el nombre de la pagina, dime si existe un metodo como este para colocarlo dentro de un Case. La verdad ya busque con "Observador" en Objeto = ThisComponent.getCurrentController() y no encuentro nada.
2. Te adjunto el docuemento en Excel (PlantillaRoles(Edity)_NewVersion)que ademas contiene la macro y el documento *.txt (08-Mar-2010.rar) con el resultado de la macro.
Muchas gracias nuevamente.
Gracias por tu pronta respuesta. Te comento por temas:
1. Ya encontre la forma de extraer los valores numéricos y de cadena de cada celda en la pagina activa pero de la pagina que no está activa no encuentro como. A mi me gustaria poder llamar a este metodo por el nombre de la pagina, dime si existe un metodo como este para colocarlo dentro de un Case. La verdad ya busque con "Observador" en Objeto = ThisComponent.getCurrentController() y no encuentro nada.
2. Te adjunto el docuemento en Excel (PlantillaRoles(Edity)_NewVersion)que ademas contiene la macro y el documento *.txt (08-Mar-2010.rar) con el resultado de la macro.
Muchas gracias nuevamente.
- Adjuntos
-
- 08-Mar-2010.rar
- Trate de adjuntar el archivo como *.txt y no pude por eso te lo pongo en *.rar
- (207 Bytes) Descargado 208 veces
-
- PlantillaRoles(Edity)_NewVersion.xls
- (87 KiB) Descargado 217 veces
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: Solucionar los errores de una Macro importada desde MS Excel
Hola...
Compañero, toda la información para controlar hojas esta en el libro, capitulo 6.1
Paso a ver tu archivo...
Saludos
Compañero, toda la información para controlar hojas esta en el libro, capitulo 6.1
Paso a ver tu archivo...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
Re: Solucionar los errores de una Macro importada desde MS Excel
Estimado Mauricio:
Primero que todo gracias por su soporte y apoyo. Te explico lo que hay que hacer con las celdas del documento:
1. A cada nombre de la Columna "Nombre del Empleado" hay que colocarle una letra "D" delante.
2. Entre la columna "Valor" y "Numero de Cuenta" hay que hacer una bloque que conforme un numero de 32 digitos con la siguientes caracteristicas:
a. Mumero de Cuenta + Relleno de Ceros + Valor + Fecha Actual (dia/mes/año) + Letra "N"
3. A estas 2 columnas resultantes hay que mandarlas a un documento *.txt en el mismo orden que estan en el documento. Ademas hay que guardar el archivo *.txt en una ubicación.
Yo ya hice los 2 primeros pasos en OOo Basic, el resultado esta en el variable arreglo bidimencional DatoCadena(). Te adjunto el documento(Roles de Pago Departamento de Economia) con la Macro(miBiblioteca>miModulo>MacroDepartamentoEconomia). Solo resta pasar las columnas cuando j=0 y j=2 al documento *.txt en una localización determinada.
Primero que todo gracias por su soporte y apoyo. Te explico lo que hay que hacer con las celdas del documento:
1. A cada nombre de la Columna "Nombre del Empleado" hay que colocarle una letra "D" delante.
2. Entre la columna "Valor" y "Numero de Cuenta" hay que hacer una bloque que conforme un numero de 32 digitos con la siguientes caracteristicas:
a. Mumero de Cuenta + Relleno de Ceros + Valor + Fecha Actual (dia/mes/año) + Letra "N"
3. A estas 2 columnas resultantes hay que mandarlas a un documento *.txt en el mismo orden que estan en el documento. Ademas hay que guardar el archivo *.txt en una ubicación.
Yo ya hice los 2 primeros pasos en OOo Basic, el resultado esta en el variable arreglo bidimencional DatoCadena(). Te adjunto el documento(Roles de Pago Departamento de Economia) con la Macro(miBiblioteca>miModulo>MacroDepartamentoEconomia). Solo resta pasar las columnas cuando j=0 y j=2 al documento *.txt en una localización determinada.
- Adjuntos
-
- Roles de Pago Departamento de Economía.rar
- (12.99 KiB) Descargado 190 veces
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: Solucionar los errores de una Macro importada desde MS Excel
Hola...
Compañero, no corresponden los archivos que enviaste la primera vez con estos segundos y el TXT que enviaste no corresponde con los requerimientos de tu ultimo mensaje.
Te he migrado el primero ejemplo completo, genera el TXT tal cual lo hacia tu macro original, checala y adaptala a tu ultimo mensaje que es muy sencillo.
Si esto responde tu pregunta, por favor edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos
Compañero, no corresponden los archivos que enviaste la primera vez con estos segundos y el TXT que enviaste no corresponde con los requerimientos de tu ultimo mensaje.
Te he migrado el primero ejemplo completo, genera el TXT tal cual lo hacia tu macro original, checala y adaptala a tu ultimo mensaje que es muy sencillo.
Si esto responde tu pregunta, por favor edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos
- Adjuntos
-
- PlantillaRoles(Edity)_NewVersion.ods
- (20 KiB) Descargado 212 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
Re: Solucionar los errores de una Macro importada desde MS Excel
Mauricio:
Muchas gracias por todo. La macro me resuelve todo el problema pero lo que no encuentro en la estructura de imprimir es donde se lo coloca el nombre al archivo. Me sale "prueba.txt" en la ruta de pero como es el mismo nombre me reescribe el archivo. Yo quisiera colocarle la funcion "Now" para añadirle la fecha en que se origino.
Muchas gracias
Muchas gracias por todo. La macro me resuelve todo el problema pero lo que no encuentro en la estructura de imprimir es donde se lo coloca el nombre al archivo. Me sale "prueba.txt" en la ruta de pero como es el mismo nombre me reescribe el archivo. Yo quisiera colocarle la funcion "Now" para añadirle la fecha en que se origino.
Muchas gracias
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: [RESUELTO] Solución errores de una Macro importada MS Excel
Hola...
Compañero, por lo que me dices se me figura que no conoces tu código, en tu código original el nombre del archivo lo toma de la hoja Rol celda "B1", en mi código lo toma de esta misma celda, solo escribe ahí como quieres que se llame el archivo (sin extensión) y la macro lo tomará de esa celda, otra posibilidad es agregarla en el código directamente si no quieres que el usuario seleccione el nombre...
Saludos
Compañero, por lo que me dices se me figura que no conoces tu código, en tu código original el nombre del archivo lo toma de la hoja Rol celda "B1", en mi código lo toma de esta misma celda, solo escribe ahí como quieres que se llame el archivo (sin extensión) y la macro lo tomará de esa celda, otra posibilidad es agregarla en el código directamente si no quieres que el usuario seleccione el nombre...
Código: Seleccionar todo
sArchivo = Format( Now(), "dd-mm-yy" )______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
louis_cuba
- Mensajes: 9
- Registrado: Sab Feb 20, 2010 5:26 am
Re: [RESUELTO] Solución errores de una Macro importada MS Excel
Hola:
Como te comente esta Macro no la hice yo, sino que la heredé. Si quieres te mando la solución final de como quedo ?????
Saludos Cordiales
Como te comente esta Macro no la hice yo, sino que la heredé. Si quieres te mando la solución final de como quedo ?????
Saludos Cordiales
OOo 3.2.0
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Microsoft Windows XP Profesional, Version 2002, Service Pack 3
Re: [RESUELTO] Solución errores de una Macro importada MS Excel
Hola...
Podrías hacer un documento mostrando como estaba y como quedo (y como resolviste la importación) para los que hagan tareas similares...
Saludos
Podrías hacer un documento mostrando como estaba y como quedo (y como resolviste la importación) para los que hagan tareas similares...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro