recomendacionesQuizás te interese...Temas activosInternautas TV |
Incremento automático del contenido de una celda en una tabla de textoEsta pequeña macro ha sido inspirada por Joan Martinez Seres (Linux BCN), en un mensaje a la lista de correo de Badopi en el que solicitaba la manera de crear una plantilla para facturas en OpenOffice.org que incrementase automáticamente el número de factura. De paso, me ha servido para repasar un poco eso de las macros en el Basic de OpenOffice.org, que tengo muy olvidadas a causa de mi falta de tiempo. El documento autoincremento.odt con la macro creada puedes descargarla al pie del artículo donde aparece como anexo Creación de la tablaHe optado por crear una tabla a la que he denominado encabezado, en cuya celda B3 (columna 2, fila 3) he ubicado el número de factura. Pasos seguidos:
La apariencia final de la tabla: Código de la macroLa forma de abordar la tarea ha sido crear una macro que obtenga el contenido de esa celda y lo incremente. Éste es el código: Sub incrementa Pasos seguidos para crear la macro:Abre el menú Herramientas -> Macros -> Organizar macros -> OpenOffice.org Basic, y en el diálgo que aparece:
Creación de un botón que activa la macroPara comprobar el funcionamiento de la macro, he creado un botón en el documento, siguiendo estos pasos:
Ahora, ya podemos comprobar como pulsando el botón que hemos creado, el contenido de la celda con el número de factura se incrementa automáticamente. Si borramos el contenido de la celda, la siguiente pulsación del botón nos mostrará el número 1. Ejecutar la macro cada vez que se guarda el documentoSi deseamos que la macro se ejecute cada vez que guardamos el documento, tan sólo debemos seguir estos pasos:
Ahora comprobemos que cada vez que modificamos y guardamos el documento, el número también se incrementa automágicamente. Habría otras maneras de abordar la tarea; por ejemplo, el número podría estar fuera de una tabla, en cuyo caso podríamos asignarle un marcador y en el código deberíamos usar el método apropiado (¿getTextBookmarks?) en vez de getTextTables. Me ha parecido, dada mi bisoñez con estas macros, que usar una tabla sería lo más facil de manejar, además de que para el caso que se trata (un modelo de facturas) es lo más habitual. por hacer ...Lo que no he sido capaz de solucionar es como guardar el documento como plantilla, de manera que en la propia plantilla se incremente el número cada vez que se crea un nuevo documento a partir de la plantilla. Queda como proyecto para cuando haya más tiempo para estudiar. ;-)
Por ifanlo el 19 Feb 2006 - 20:38 | software libre | Trucos | Automatización y Macros en Basic | versión para impresión | añadir nuevo comentario | 13609 lecturas
|
Buscar en Google:Inicio de sesión de usuarioNavegaciónRecetario de OpenOffice.orgEn líneaEn este momento hay 1 usuario y 20 invitados en línea.
Noticias y opiniones que nos interesan
|
Comentarios recientes
hace 3 semanas 2 días
hace 3 semanas 3 días
hace 3 semanas 3 días
hace 4 semanas 1 hora
hace 5 semanas 3 horas
hace 5 semanas 12 horas
hace 7 semanas 1 día
hace 8 semanas 1 día
hace 10 semanas 4 días
hace 10 semanas 6 días