easymacro/docs/es/docs/calc/ranges.md

175 lines
2.3 KiB
Markdown

## Trabajar con conjuntos de rangos
---
### **address**
Referencia a un rango por su dirección.
```py
rango = rangos['Hoja1.A1:B5']
app.debug(rango)
```
<br>
### **in**
Verificar si un rango esta en la colección.
```py
doc = app.active
hoja = doc.active
rangos = doc.selection
resultado = hoja['D5:F10'] in rangos
app.debug(resultado)
```
<br>
### **index**
Referencia a un rango por índice.
```py
doc = app.active
rangos = doc.selection
rango = rangos[1]
app.debug(rango)
```
<br>
### **iter**
Iterar entre los rangos.
```py
doc = app.active
for rango in doc.selection:
app.debug(rango)
```
```sh
20/08/2022 13:27:03 - DEBUG - Range: $Sheet1.$B$4:$D$7
20/08/2022 13:27:03 - DEBUG - Range: $Sheet1.$G$10:$H$14
```
<br>
### **len**
Contar los rangos en la colección.
```py
doc = app.active
contar = len(doc.selection)
app.debug(contar)
```
<br>
### **selection**
Obtener una referencia desde la selección actual. Deben de estar seleccionados más de un rango de celdas.
```py
doc = app.active
seleccion = doc.selection
app.debug(seleccion)
```
```sh
20/08/2022 13:21:17 - DEBUG - Ranges: ('Sheet1.A5:C8', 'Sheet1.E11:F14')
```
<br>
## Propiedades
---
### **data**
Devolver y establecer datos.
```py
doc = app.active
rangos = doc.selection
datos = rangos.data
app.debug(datos)
rangos.data = datos
```
!!! warning "Cuidado"
Al asignar esta propiedad, cada matriz de datos debe tener exactamente el mismo tamaño del rango destino.
<br>
### **names**
Devolver las direcciones de los rangos.
```py
doc = app.active
rangos = doc.selection
nombres = rangos.names
app.debug(nombres)
```
<br>
### **style**
Establecer el estilo de todos los rangos de la colección.
```py
doc = app.active
rangos = doc.selection
rangos.style = 'Good'
```
<br>
## Métodos
---
### **add**
```py
doc = app.active
hoja = doc.active
rangos = doc.ranges()
rangos.add(hoja['A1:B2'])
rangos.add(hoja['D5:F10'])
app.debug(rangos)
```
<br>
### **ranges**
Crear un nuevo contender de rangos vacío.
```py
doc = app.active
rangos = doc.ranges()
app.debug(rangos)
```
<br>
### **remove**
```py
rangos.remove(hoja['A1:B2'])
```
<br>