Buenas...y Feliz Año a tod@s.
Estoy realizando una aplicación para jugar al ajedrez el final de partida entre una torre - rey blanco y un rey negro, donde la torre - rey blanco es el ordenador y el rey negro soy yo.
He creado tres macros como veis en el archivo adjunto una para cada ficha. El objetivo de las macros es el mismo, repetir el valor del último movimiento (H6,D5, el que sea) incluido en la fila 6, copiarlo en la fila V5 y W5 y copiarlo de nuevo en la las casillas de la fila 5 que corresponde.
Dado que no śé programar, las macros las he realizado mediante la grabadora y al ejecutarlas funcionan perfectamente. El problema viene cuando al crear los botones para ejecutar las macros más cómodamente, estos botones no replican bien las macros. Por la práctica he visto que las macros replican en los botones las dos últimas casillas pegadas, no las que deberían ser en función de cada macro (en el caso del rey negro las casiilas P6+Q6, en la torre (N6+o6) y en el rey blanco (Ñ6+M6).
He intentado ver foros para ver si este problema ya se ha visto, pero no veo nada que sea exactamente a lo que yo planteo.
Cualquier ayuda es bienvenida. Muchas gracias.,
Editado: Por RMG. Título cambiado a minúsculas, por favor lee las normas del foro, no se puede escribir en mayúsculas.
Botón macro no replica macro bien
-
- Mensajes: 1
- Registrado: Mié Ene 02, 2019 11:03 pm
Botón macro no replica macro bien
- Adjuntos
-
- Botón macro para juego ajedrez.ods
- (20.5 KiB) Descargado 110 veces
Libreoffice 6.0.7.3 en Ubuntu 17.10
- PepeOooSevilla
- Mensajes: 1480
- Registrado: Sab Abr 04, 2009 6:10 pm
- Ubicación: Sevilla (España)
Re: Botón macro no replica macro bien
Hola.
Te damos la bienvenida al Foro y, por favor, no dejes de leer la Guía de supervivencia.
Si quieres adentrarte en el mundo de las macros en OoBasic para OpenOffice/LibreOffice, lo primero que has de hacer es leer, releer y estudiar el libro de nuestro compañero mauricio Aprendiendo OOo Basic y, también, visitar y estudiar las páginas Manuales de Apache OpenOffice en español: Basic y Basic OpenOffice: Apache OpenOffice Basic en español de nuestro compañero SLV-es.
En el archivo adjunto (biblioteca Standar.Module1) tienes una posible solución, sin usar la grabadora de macros. Como puedes observar, el número de líneas de la macro disminuye de forma casi exponencial.
Saludos cordiales.
Te damos la bienvenida al Foro y, por favor, no dejes de leer la Guía de supervivencia.
Si quieres adentrarte en el mundo de las macros en OoBasic para OpenOffice/LibreOffice, lo primero que has de hacer es leer, releer y estudiar el libro de nuestro compañero mauricio Aprendiendo OOo Basic y, también, visitar y estudiar las páginas Manuales de Apache OpenOffice en español: Basic y Basic OpenOffice: Apache OpenOffice Basic en español de nuestro compañero SLV-es.
En el archivo adjunto (biblioteca Standar.Module1) tienes una posible solución, sin usar la grabadora de macros. Como puedes observar, el número de líneas de la macro disminuye de forma casi exponencial.
Código: Seleccionar todo
REM ***** BASIC *****
Option Explicit
Sub CopiarTorre()
Dim HojaActiva As Object
'Referencia a la hoja activa
HojaActiva = ThisComponent.getCurrentController.getActiveSheet()
With HojaActiva
.getCellRangeByName("N5").setString(.getCellRangeByName("N6").getString())
.getCellRangeByName("O5").setValue(.getCellRangeByName("O6").getValue())
End With
End Sub
Sub CopiarReyBlanco()
Dim HojaActiva As Object
'Referencia a la hoja activa
HojaActiva = ThisComponent.getCurrentController.getActiveSheet()
With HojaActiva
.getCellRangeByName("L5").setString(.getCellRangeByName("L6").getString())
.getCellRangeByName("M5").setValue(.getCellRangeByName("M6").getValue())
End With
End Sub
Sub CopiarReyNegro()
Dim HojaActiva As Object
'Referencia a la hoja activa
HojaActiva = ThisComponent.getCurrentController.getActiveSheet()
With HojaActiva
.getCellRangeByName("P5").setString(.getCellRangeByName("P6").getString())
.getCellRangeByName("Q5").setValue(.getCellRangeByName("Q6").getValue())
End With
End Sub
- Adjuntos
-
- Boton macro para juego ajedrez_eldanicello_v2.ods
- LibO Calc 6.0.7
- (21.7 KiB) Descargado 113 veces
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.
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.