diff --git a/doc/content/es/_index.md b/doc/content/es/_index.md index ddf2d5d..f42bf5d 100644 --- a/doc/content/es/_index.md +++ b/doc/content/es/_index.md @@ -8,6 +8,12 @@ Probablemente, será más feliz si la usa :) Puede utilizar **easymacro** con cualquier extensión o directamente en sus macros. +Aportaciones en Junas (G1) + +``` +A5DdXxCKPw3QKWVdDVs7CzkNugNUW1sHu5zDJFWxCU2h +``` + {{% notice note %}} Este proyecto esta en continuo desarrollo. {{% /notice %}} diff --git a/doc/content/es/calc/_index.md b/doc/content/es/calc/_index.md index 8e09b8b..9dc5ecb 100644 --- a/doc/content/es/calc/_index.md +++ b/doc/content/es/calc/_index.md @@ -9,4 +9,314 @@ weight = 6 ```python +doc = app.active +app.debug(doc.type) ``` + +#### Propiedades + +### headers + +Mostrar u ocultar encabezados de filas y columnas. + +```python +doc = app.active +app.msgbox(doc.headers) +doc.headers = not doc.headers +app.msgbox(doc.headers) +doc.headers = not doc.headers +``` + + +### tabs + +Mostrar u ocultar las pestañas de las hojas. + +```python +doc = app.active +app.msgbox(doc.tabs) +doc.tabs = not doc.tabs +app.msgbox(doc.tabs) +doc.tabs = not doc.tabs +``` + +### selection + +Devolver la selección activa. + +```python +doc = app.active +seleccion = doc.selection +app.debug(seleccion) +``` + +{{% notice warning %}} +**Cuidado**, la selección actual pueden ser muchas cosas diferentes. +{{% /notice %}} + + +### names + +Devolver una tupla con los nombres de todas las hojas. + +```python +doc = app.active +nombres = doc.names +app.debug(nombres) +``` + +### active + +Devuelve la hoja activa. + +```python +doc = app.active +hoja = doc.active +app.debug(hoja) +``` + + +#### Métodos + +### activate + +Activar hoja, argumento como objeto. + +```python +doc = app.active +hoja = doc[-1] +doc.activate(hoja) +``` + +Activar hoja por nombre. + +```python +doc = app.active +doc.activate('Hoja3') +``` + + +### select + +Seleccionar una celda o rango. + +```python +doc = app.active +cell = doc[0]['A1'] +doc.select(cell) +``` + +{{% notice tip %}} +**NO** es necesario seleccionar celdas o rangos para manipularlos. +{{% /notice %}} + + +### start_range_selection + +Permitir al usuario seleccionar un rango. Es necesario pasarle una clase con el nombre que prefiera (`Eventos` es recomendable) con dos métodos para procesar la captura como en el siguiente ejemplo: + +```python +class Eventos(): + + def __init__(self, doc): + self.doc = doc + + def range_selection_done(self, range_selection): + if range_selection: + app.debug(range_selection) + self.doc.remove_range_selection_listener() + return + + def range_selection_aborted(self): + self.doc.remove_range_selection_listener() + return + + +def main(): + doc = app.active + doc.start_range_selection(Eventos) + return +``` + +### insert + +Inserta una nueva hoja. + +```python +doc = app.active +hoja = doc.insert('OtraHoja') +``` + +Insertar varias hojas. Devolverá la última insertada. + +```python +nombres = ('Enero', 'Febrero', 'Marzo') +hoja = doc.insert(nombres) +app.debug(hoja) +``` + +Creando una nueva instancia y asignandola. + +```python + doc = app.active + doc['NuevaHoja'] = doc.new_sheet() +``` + +{{% notice warning %}} +Si la hoja existe, obtendrá un error, verifique siempre que no exista primero. +{{% /notice %}} + + +### move + +Mover hojas. + +Pasar la hoja como objeto, de forma predetermianda se mueve a la última posición. + +```python +doc = app.active +hoja = doc[0] +doc.move(hoja) +``` + +Pasar la hoja por nombre. + +```python +doc = app.active +doc.move('Hoja1') +``` + +Especificar la posición destino. + +```python +doc = app.active +hoja = doc[0] +doc.move(hoja, 2) +``` + + +### remove + +Eliminar hoja. + +```python +doc = app.active +sheet = doc[0] + +doc.remove(sheet) +``` + +Eliminar por nombre. + +```python +doc.remove('Hoja2') +``` + + +### copy + +Copiar hoja dentro del mismo documento. + +```python +doc = app.active +hoja = doc[0] + +doc.copy_sheet(hoja, 'Otra hoja') +``` + +Por nombre. + +```python +doc.copy_sheet('Hoja1', 'Hoja2') +``` + +Si no se establece el nuevo nombre, se generá de forma automática: `nombre + índice`. + +```python +doc.copy_sheet(hoja) +``` + + +### copy_from + +Copiar hojas de otro documento. Copiar con el mismo nombre. + +```python +doc = app.active +documento_origen = app.docs['Contactos.ods'] +nombre_origen = 'Nombres' + +doc.copy_from(documento_origen, nombre_origen) +``` + +Copiar con un nuevo nombre. + +```python +doc.copy_from(documento_origen, nombre_origen, 'NuevoNombre') +``` + +Si solo se establece el documento origen, se copian todas las hojas. + +```python +doc.copy_from(documento_origen) +``` + + +### sort + +Ordenar hojas en orden alfabetico. + +```python +doc = app.active +doc.sort() +``` + +Ordenar de forma inversa. + +```python +doc = app.active +doc.sort(True) +``` + + +### Eventos del documento. + +Obtener una tupla con los eventos soportados por el documento. + +```python +doc = app.active +nombres = doc.events.names +app.debug(nombres) +``` + +#### Asignar una macro a un evento. + +```python +def doc_on_focus(event): + app.debug('Documento activado...') + return + + +def main(): + doc = app.active + events = doc.events + if 'OnFocus' in events: + macro = {'library': 'test', 'name': 'doc_on_focus'} + events['OnFocus'] = macro + return +``` + +#### Eliminar la asignación del evento. + +```python +doc = app.active +doc.events['OnFocus'] = {} +``` + +O + +```python +doc = app.active +doc.events.remove('OnFocus') +``` + diff --git a/doc/content/es/calc/sheets/_index.md b/doc/content/es/calc/sheets/_index.md new file mode 100644 index 0000000..f1e1e83 --- /dev/null +++ b/doc/content/es/calc/sheets/_index.md @@ -0,0 +1,56 @@ ++++ +title = "Hojas" +weight = 1 ++++ + + +#### Trabajar con hojas + +### Referencia por índice + +```python +doc = app.active +hoja = doc[0] +app.debug(hoja.name) +``` + + +### Referencia por nombre + +```python +doc = app.active +hoja = doc['datos'] +app.debug(hoja.name) +``` + +### in + +Verificar por nombre si una hoja existe. + +```python +doc = app.active +existe = 'Hoja2' in doc +app.debug(existe) +``` + +### len + +Contar la cantidad de hojas en el documento. + +```python +doc = app.active +contar = len(doc) +app.debug(contar) +``` + +### iter + +Recorrer todas las hojas. + +```python + doc = app.active + for hoja in doc: + app.debug(hoja) +``` + + diff --git a/doc/content/es/calc/sheets/events/_index.md b/doc/content/es/calc/sheets/events/_index.md new file mode 100644 index 0000000..5d86f89 --- /dev/null +++ b/doc/content/es/calc/sheets/events/_index.md @@ -0,0 +1,48 @@ ++++ +title = "Eventos" +weight = 3 ++++ + + +#### Eventos de la hoja. + + +Obtener una tupla con los eventos soportados por la hoja. + +```python +hoja = app.active.active +nombres = hoja.events.names +app.debug(nombres) +``` + +#### Asignar una macro a un evento. + +```python +def on_select(source): + app.debug(source.AbsoluteName) + return + + +def main(): + doc = app.active + hoja = doc.active + + if 'OnSelect' in hoja.events: + macro = {'library': 'test', 'name': 'on_select'} + hoja.events['OnSelect'] = macro + + return +``` + +#### Eliminar la asignación del evento. + +```python +hoja.events['OnSelect'] = {} +``` + +O + +```python +hoja.events.remove('OnFocus') +``` + diff --git a/doc/content/es/calc/sheets/methods/_index.md b/doc/content/es/calc/sheets/methods/_index.md new file mode 100644 index 0000000..957d013 --- /dev/null +++ b/doc/content/es/calc/sheets/methods/_index.md @@ -0,0 +1,101 @@ ++++ +title = "Métodos" +weight = 2 ++++ + +### unprotect + +Quitar contraseña. + +```python +hoja = app.active.active + +hoja.password = 'siscaloburropanzon' +app.msgbox(hoja.is_protected) + +hoja.unprotect('siscaloburropanzon') +app.msgbox(hoja.is_protected) +``` + + +### activate + +Pasar el foco a la hoja. + +```python +doc = app.active +hoja = doc[-1] +hoja.activate() +``` + + +### move + +Mover a la última posición. + +```python +doc = app.active +hoja = doc[0] +hoja.move() +``` + +Mover a una posición especifica. + +```python +doc = app.active +hoja = doc[0] +hoja.move(3) +``` + +### remove + +Remover hoja. + +```python +sheet = app.active.active +sheet.remove() +``` + +{{% notice warning %}} +Siempre debe existir al menos una hoja. +{{% /notice %}} + + +### copy + +{{% notice tip %}} +Siempre valida que no exista el nuevo nombre. +{{% /notice %}} + +```python +doc = app.active +hoja = doc[0] + +nuevo_nombre = f'{hoja.name}_2' +if not nuevo_nombre in doc: + hoja.copy(nuevo_nombre) +``` + +Si no se establece el nuevo nombre, se generá de forma automática: `nombre + índice`. + +```python +hoja.copy() +``` + +### copy_to + +Copiar la hoja a otro documento. Se usa el mismo nombre. + +```python +doc = app.active +hoja = doc.active + +documento_nuevo = app.docs.new() +hoja.copy_to(documento_nuevo) +``` + +Usar un nuevo nombre. + +```python +hoja.copy_to(documento_nuevo, 'Nuevo nombre') +``` diff --git a/doc/content/es/calc/sheets/properties/_index.md b/doc/content/es/calc/sheets/properties/_index.md new file mode 100644 index 0000000..2e94532 --- /dev/null +++ b/doc/content/es/calc/sheets/properties/_index.md @@ -0,0 +1,113 @@ ++++ +title = "Propiedades" +weight = 1 ++++ + +### doc + +Devuelve al documento Calc donde esta la hoja. + +```python +doc = app.active +hoja = doc.active + +doc = hoja.doc +app.debug(doc.title) +``` + + +### name + +Nombre visible y editable por el usuario. + +```python +doc = app.active +hoja = doc.active + +app.msgbox(hoja.name) +hoja.name = 'Nuevo Nombre' +app.msgbox(hoja.name) +``` + +### code_name + +Nombre editable y accesible solo por código. + +```python +doc = app.active +hoja = doc.active + +app.msgbox(hoja.code_name) +hoja.code_name = 'datos' +app.msgbox(hoja.code_name) +``` + + +### visible + +Muestra u oculta la hoja + +```python +hoja = app.active.active + +app.msgbox(hoja.visible) +hoja.visible = not hoja.visible +app.msgbox(hoja.visible) +hoja.visible = not hoja.visible +``` + +{{% notice tip %}} +Solo funcionará con dos o más hojas, por que debe haber al menos una visible. +{{% /notice %}} + + +### color + +Color de la pestaña. + +```python +hoja = app.active.active +app.msgbox(hoja.color) + +hoja.color = 'red' +app.msgbox(hoja.color) + +# RGB +hoja.color = (125, 200, 10) +app.msgbox(hoja.color) +``` + + +### used_area + +Referencia al área de usuario actual. + +```python +hoja = app.active.active + +rango = hoja.used_area +app.debug(rango) +``` + + +### is_protected + +Devuelve verdadero (True) si la hoja esta protegida + +```python +hoja = app.active.active + +esta_protegida = hoja.is_protected +app.debug(esta_protegida) +``` + + +### password + +Establecer una contraseña. + +```python +hoja = app.active.active +hoja.password = 'siscaloburropanzon' +app.debug(hoja.is_protected) +``` diff --git a/doc/public/404.html b/doc/public/404.html index ac39184..69d3091 100644 --- a/doc/public/404.html +++ b/doc/public/404.html @@ -9,15 +9,15 @@
Obtener una tupla con los eventos soportados por la hoja.
+hoja = app.active.active
+nombres = hoja.events.names
+app.debug(nombres)
+
def on_select(source):
+ app.debug(source.AbsoluteName)
+ return
+
+
+def main():
+ doc = app.active
+ hoja = doc.active
+
+ if 'OnSelect' in hoja.events:
+ macro = {'library': 'test', 'name': 'on_select'}
+ hoja.events['OnSelect'] = macro
+
+ return
+
hoja.events['OnSelect'] = {}
+
O
+hoja.events.remove('OnFocus')
+