Tengo un boton en una hoja que llama a una macro en python, como la macro tarda en ejecutarse, quiero desactivar el boton al empezar y activarlo al terminar de nuevo.
No sé cual es el objeto al que acceder para cambiar la propiedad del botón.
¿Puede alguien indicarme documentación de referencia?
Adjunto Macro:
import time
def BusquedaTabla(*args): # Si se llama desde un botón, pasa el argumento del evento del objeto que lo llama
# The context variable is of type XScriptContext and is available to
# all BeanShell scripts executed by the Script Framework
momento1 = time.clock()
Libro = XSCRIPTCONTEXT.getDocument()
Hojas = Libro.Sheets
Hoja1 = Libro.CurrentController.ActiveSheet
# Comprobamos si el evento se llama desde un boton
LAMADABOTON = 0
if len(args) > 0 : # Si se llama desde un boton, desactivamos el mismo
LLAMADABOTON = 1
HojaComprobar = Hojas.getByName(Hoja1.getCellRangeByName("C2").String)
HojaValores = Hojas.getByName(Hoja1.getCellRangeByName("F2").String)
HojaAsignar = Hojas.getByName(Hoja1.getCellRangeByName("I2").String)
HojaRellenar = Hojas.getByName(Hoja1.getCellRangeByName("L2").String)
RangoComprobar = HojaComprobar.getCellRangeByName(Hoja1.getCellRangeByName("A4").String + Hoja1.getCellRangeByName("B4").String + ":" + Hoja1.getCellRangeByName("A4").String + Hoja1.getCellRangeByName("C4").String)
RangoValores = HojaValores.getCellRangeByName(Hoja1.getCellRangeByName("D4").String + Hoja1.getCellRangeByName("E4").String + ":" + Hoja1.getCellRangeByName("D4").String + Hoja1.getCellRangeByName("F4").String)
RangoAsignar = HojaAsignar.getCellRangeByName(Hoja1.getCellRangeByName("G4").String + Hoja1.getCellRangeByName("H4").String + ":" + Hoja1.getCellRangeByName("G4").String + Hoja1.getCellRangeByName("I4").String)
Cadena = Hoja1.getCellRangeByName("L4").String
RangoRellenar = HojaRellenar.getCellRangeByName(Hoja1.getCellRangeByName("J4").String + Hoja1.getCellRangeByName("K4").String + ":" + Hoja1.getCellRangeByName("J4").String + Hoja1.getCellRangeByName("L4").String)
#
lComprobar = len(RangoComprobar.getDataArray())
lValores = len(RangoValores.getDataArray())
lRellenar = len(RangoRellenar.getDataArray())
tRellenar = RangoRellenar.getDataArray()
iComprobar = 1
while iComprobar <= lComprobar :
cComprobar = RangoComprobar.getDataArray()[iComprobar - 1][0]
iValores = 1
while iValores <= lValores :
if cComprobar == RangoValores.getDataArray()[iValores - 1][0] :
RangoRellenar.getCellByPosition(0,iComprobar - 1).setString(RangoAsignar.getDataArray()[iValores - 1][0])
iValores = lValores
iValores += 1
iComprobar += 1
Datos = RangoComprobar.getDataArray()
momento2 = time.clock()
Hoja1.getCellRangeByName("A10").setString("Tiempo de Proceso:")
Hoja1.getCellRangeByName("A11").setValue(momento2 - momento1)
#
return None
# lists the scripts, that shall be visible inside OOo. Can be omited, if
# all functions shall be visible, however here getNewString shall be surpressed
g_exportedScripts = BusquedaTabla,