[RESUELTO] Repetir Macro en todas las hojas de CAL

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
anlimo1969
Mensajes: 3
Registrado: Lun Dic 09, 2013 7:28 pm

[RESUELTO] Repetir Macro en todas las hojas de CAL

Mensaje por anlimo1969 »

Hola a todos:

He realizado una macro en una hoja de CAL, es muy sencillita, funciona eso es lo importante, lo que ocurre que en el mismo libro he creado otra hoja, y en esa hoja no me funciona la macro. ¿Puede alguien como puedo hacer que en las demás hojas de libro funcione la misma macro? seguro que es fácil, pero no lo he conseguido.
Gracias
Última edición por anlimo1969 el Lun Dic 09, 2013 11:31 pm, editado 1 vez en total.
OpenOffice y libreOffice en Ubuntu 13.10
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Repetir Macro en todas las hojas de CAL

Mensaje por mauricio »

Es probable que estes usando el nombre de la hoja como condición, pero... así, sin ver, es compliado ayudarte, muestranos tu código para orientarte...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
anlimo1969
Mensajes: 3
Registrado: Lun Dic 09, 2013 7:28 pm

Re: Repetir Macro en todas las hojas de CAL

Mensaje por anlimo1969 »

Hola a todos:

A continuación os paso el macro para que le podáis echar un vistazo.

Sub InsertarFecha()
Dim Doc, Sheet, Cell, oSelection, oDocument, oCell As Object
Dim oRangeAddress as New com.sun.star.table.CellRangeAddress
Doc = ThisComponent
Sheet = Doc.Sheets(0)
oSelection = Doc.CurrentController.getSelection
oRangeAddress = oSelection.getRangeAddress
r = oRangeAddress.StartRow
c = oRangeAddress.StartColumn
oCell= Sheet.getCellByPosition(c,r)
oCell.String = Date 'devuelve la fecha actual
End Sub

Supongo que será alguna modificación en la macro.
OpenOffice y libreOffice en Ubuntu 13.10
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Repetir Macro en todas las hojas de CAL

Mensaje por PepeOooSevilla »

Hola.

La línea
Sheet = Doc.Sheets(0)
siempre hace referencia a la misma hoja (la "cero"). Si lo que deseas es que escriba la fecha en la hoja activa debes cambiar esa línea por
Sheet = Doc.CurrentController.getActiveSheet()
(ver página 163 del libro de nuestro compañero Mauricio Baeza "Aprendiendo OOo Basic").

Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
anlimo1969
Mensajes: 3
Registrado: Lun Dic 09, 2013 7:28 pm

Re: Repetir Macro en todas las hojas de CAL

Mensaje por anlimo1969 »

Hola a todos

Efectivamente, una vez cambiada la linea todo ha quedado solucionado, muchísimas gracias por la ayuda, sois rápidos y muy efectivos.

Saludos
OpenOffice y libreOffice en Ubuntu 13.10
Responder