Documentation for Calc
This commit is contained in:
parent
b1355d5d88
commit
62d2cd25c1
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,3 @@
|
|||
|
||||
Calc
|
||||
----
|
||||
|
||||
|
@ -9,583 +8,11 @@ Remember, always import library.
|
|||
import easymacro as app
|
||||
|
||||
|
||||
Document
|
||||
~~~~~~~~
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Selection
|
||||
^^^^^^^^^
|
||||
|
||||
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
selection = doc.selection
|
||||
app.msgbox(type(selection))
|
||||
|
||||
|
||||
Headers
|
||||
^^^^^^^
|
||||
|
||||
* Hide or show columns and rows headers.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
|
||||
|
||||
Tabs
|
||||
^^^^
|
||||
|
||||
* Hide or show tab sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
|
||||
|
||||
Sheets
|
||||
~~~~~~
|
||||
|
||||
Active sheet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
# or
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
|
||||
|
||||
Get by index
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc[0]
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Get by name
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc['Sheet1']
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Contains
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox('Sheet1' in doc)
|
||||
|
||||
|
||||
Get tuple with all names
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.names)
|
||||
|
||||
|
||||
Count
|
||||
^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(len(doc))
|
||||
|
||||
New
|
||||
^^^
|
||||
|
||||
* Always validate if new name not exists.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
|
||||
sheet = doc.new_sheet()
|
||||
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
|
||||
doc['NewSheet'] = sheet
|
||||
|
||||
# ~ or
|
||||
|
||||
sheet = doc.insert('NewSheet2')
|
||||
|
||||
* Insert multiple, get last insert.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
names = ('One', 'Two', 'Three')
|
||||
sheet = doc.insert(names)
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
* Move by object to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet)
|
||||
|
||||
* Move by name to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.move('Sheet1')
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet, 2)
|
||||
|
||||
* Move from sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move()
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move(2)
|
||||
|
||||
|
||||
Remove
|
||||
^^^^^^
|
||||
|
||||
* Remove by object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.remove(sheet)
|
||||
|
||||
* Remove by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.remove('One')
|
||||
|
||||
* Remove from sheet.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.remove()
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Copy inside the same spreadsheet.
|
||||
|
||||
* By object
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.copy(sheet, 'OtherSheet')
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.copy('Sheet1', 'Sheet2')
|
||||
|
||||
* From sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.copy(sheet.name + '_2')
|
||||
|
||||
|
||||
Copy from
|
||||
^^^^^^^^^
|
||||
|
||||
* Copy sheet from one spreadsheet to other.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc_source = app.docs['Contacts.ods']
|
||||
name_source = 'Names'
|
||||
name_target = 'Names'
|
||||
position = 0
|
||||
doc.copy_from(doc_source, name_source, name_target, position)
|
||||
|
||||
|
||||
Copy to
|
||||
^^^^^^^
|
||||
|
||||
* Copy from sheet with the same name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc)
|
||||
|
||||
* Used new name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc, 'NewName')
|
||||
|
||||
|
||||
Sort
|
||||
^^^^
|
||||
|
||||
* Sort sheets by names.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc.sort()
|
||||
|
||||
Name
|
||||
^^^^
|
||||
|
||||
* Name visible by the user.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
sheet.name = 'NewName'
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Code name
|
||||
^^^^^^^^^
|
||||
|
||||
* Name only accessible by code.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.code_name)
|
||||
sheet.code_name = 'my_name'
|
||||
app.msgbox(sheet.code_name)
|
||||
|
||||
|
||||
Visible
|
||||
^^^^^^^
|
||||
|
||||
* Apply only with spreadsheet with two or more sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
|
||||
|
||||
Is protected
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* If sheet is protected with password.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Set password
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Remove password
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
sheet.unprotect('letmein')
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Tab color
|
||||
^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
sheet.color = 'red'
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
# RGB
|
||||
sheet.color = (125, 200, 10)
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
|
||||
Document parent
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = sheet.doc
|
||||
|
||||
|
||||
Activate
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
# Get last sheet
|
||||
sheet = doc[-1]
|
||||
|
||||
# Activate from doc
|
||||
doc.activate(sheet)
|
||||
|
||||
# Activate from sheet
|
||||
sheet.activate()
|
||||
|
||||
|
||||
Ranges
|
||||
~~~~~~
|
||||
|
||||
Cells
|
||||
^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
* By position [row, column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet[1, 4]
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
Ranges
|
||||
^^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B2:D5']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* By position [start_row:end_row, start_column:end_column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet[1:5,1:4]
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Group ranges
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
last = doc[-1]
|
||||
with doc.ranges as r:
|
||||
# Add one range
|
||||
r.add(sheet['A1:B2'])
|
||||
r2 = sheet['C4:D5']
|
||||
r3 = last['E7:D8']
|
||||
r4 = last['E10:F12']
|
||||
# Add multiple ranges
|
||||
r.add((r2, r3, r4))
|
||||
app.debug(r.names)
|
||||
|
||||
* Get the same range in all sheets
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
ranges = doc.get_ranges('A1:B1')
|
||||
app.debug(ranges.names)
|
||||
|
||||
* Get columns by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B:B']
|
||||
app.debug(rango.name)
|
||||
|
||||
rango = sheet['D:F']
|
||||
app.debug(rango.name)
|
||||
|
||||
* Get columns by position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# Column B
|
||||
rango = sheet[0:,1]
|
||||
app.debug(rango.name)
|
||||
|
||||
# Columnas D:F
|
||||
rango = sheet[0:,3:6]
|
||||
app.debug(rango.name)
|
||||
|
||||
|
||||
* Get rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# One row
|
||||
row = sheet[1]
|
||||
app.debug(row.name)
|
||||
|
||||
# Range rows
|
||||
row = sheet[3:10,0:]
|
||||
app.debug(row.name)
|
||||
|
||||
|
||||
Info ranges
|
||||
^^^^^^^^^^^
|
||||
|
||||
* Get absolute name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:E10']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get address
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1']
|
||||
a = rango.address
|
||||
data = f"""Cell Address
|
||||
Row: {a.Row}
|
||||
Column: {a.Column}
|
||||
"""
|
||||
app.msgbox(data)
|
||||
|
||||
rango = sheet['A1:E10']
|
||||
ra = rango.range_address
|
||||
data = (
|
||||
f'Range Address:\n\n'
|
||||
f'Star Row: {ra.StartRow}\n'
|
||||
f'End Row: {ra.EndRow}\n'
|
||||
f'Star Column: {ra.StartColumn}\n'
|
||||
f'End Column: {ra.EndColumn}\n'
|
||||
)
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Special ranges
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
* Get used area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet.used_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get current region
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet['A1'].current_region
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get next free cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet['A1'].next_cell
|
||||
app.msgbox(cell.name)
|
||||
|
||||
* Get merged area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1'].merged_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get visible cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].visible
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
* Get empty cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].empty
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
|
||||
Manipulate ranges
|
||||
~~~~~~~~~~~~~~~~~
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
calc_doc.rst
|
||||
calc_sheets.rst
|
||||
calc_ranges.rst
|
||||
calc_ranges2.rst
|
||||
calc_data.rst
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
Data
|
||||
~~~~
|
||||
|
||||
Read
|
||||
^^^^
|
||||
|
||||
* Get value from cell, automatic detect type and get value.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
|
||||
value = cell.value
|
||||
info = f'Cell Type = {cell.type}\n\nCell Value = {cell.value}'
|
||||
app.msgbox(info)
|
||||
|
||||
|
||||
Write
|
||||
^^^^^
|
||||
|
||||
* Automatic detect data type.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
|
||||
# ~ Set int
|
||||
sheet['A1'].value = 1
|
||||
|
||||
# ~ Set float
|
||||
sheet['A2'].value = 10.5
|
||||
|
||||
# ~ Set string
|
||||
sheet['A3'].value = 'Damn World'
|
||||
|
||||
# ~ Set date
|
||||
sheet['A4'].value = app.today()
|
||||
|
||||
# ~ Set time
|
||||
sheet['A5'].value = app.now(True)
|
||||
|
||||
# ~ Set datetime
|
||||
sheet['A6'].value = app.now()
|
|
@ -0,0 +1,50 @@
|
|||
Document
|
||||
~~~~~~~~
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Selection
|
||||
^^^^^^^^^
|
||||
|
||||
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
selection = doc.selection
|
||||
app.msgbox(type(selection))
|
||||
|
||||
|
||||
Headers
|
||||
^^^^^^^
|
||||
|
||||
* Hide or show columns and rows headers.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
|
||||
|
||||
Tabs
|
||||
^^^^
|
||||
|
||||
* Hide or show tab sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
|
@ -0,0 +1,190 @@
|
|||
Cell and ranges
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Cells
|
||||
^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
* By position [row, column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet[1, 4]
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
Ranges
|
||||
^^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B2:D5']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* By position [start_row:end_row, start_column:end_column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet[1:5,1:4]
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Group ranges
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
last = doc[-1]
|
||||
with doc.ranges as r:
|
||||
# Add one range
|
||||
r.add(sheet['A1:B2'])
|
||||
r2 = sheet['C4:D5']
|
||||
r3 = last['E7:D8']
|
||||
r4 = last['E10:F12']
|
||||
# Add multiple ranges
|
||||
r.add((r2, r3, r4))
|
||||
app.debug(r.names)
|
||||
|
||||
* Get the same range in all sheets
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
ranges = doc.get_ranges('A1:B1')
|
||||
app.debug(ranges.names)
|
||||
|
||||
* Get columns by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B:B']
|
||||
app.debug(rango.name)
|
||||
|
||||
rango = sheet['D:F']
|
||||
app.debug(rango.name)
|
||||
|
||||
* Get columns by position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# Column B
|
||||
rango = sheet[0:,1]
|
||||
app.debug(rango.name)
|
||||
|
||||
# Columnas D:F
|
||||
rango = sheet[0:,3:6]
|
||||
app.debug(rango.name)
|
||||
|
||||
|
||||
* Get rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# One row
|
||||
row = sheet[1]
|
||||
app.debug(row.name)
|
||||
|
||||
# Range rows
|
||||
row = sheet[3:10,0:]
|
||||
app.debug(row.name)
|
||||
|
||||
|
||||
Info ranges
|
||||
^^^^^^^^^^^
|
||||
|
||||
* Get absolute name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:E10']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get address
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1']
|
||||
a = rango.address
|
||||
data = f"""Cell Address
|
||||
Row: {a.Row}
|
||||
Column: {a.Column}
|
||||
"""
|
||||
app.msgbox(data)
|
||||
|
||||
rango = sheet['A1:E10']
|
||||
ra = rango.range_address
|
||||
data = (
|
||||
f'Range Address:\n\n'
|
||||
f'Star Row: {ra.StartRow}\n'
|
||||
f'End Row: {ra.EndRow}\n'
|
||||
f'Star Column: {ra.StartColumn}\n'
|
||||
f'End Column: {ra.EndColumn}\n'
|
||||
)
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Special ranges
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
* Get used area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet.used_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get current region
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet['A1'].current_region
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get next free cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet['A1'].next_cell
|
||||
app.msgbox(cell.name)
|
||||
|
||||
* Get merged area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1'].merged_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get visible cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].visible
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
* Get empty cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].empty
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
|
@ -0,0 +1,124 @@
|
|||
Manipulate ranges
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Not, not is necesary select range for manipulate**
|
||||
|
||||
Select
|
||||
^^^^^^
|
||||
|
||||
* Select from doc
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = app.active_sheet
|
||||
|
||||
cell = sheet['A1']
|
||||
doc.select(cell)
|
||||
|
||||
|
||||
* Select in self range
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
rango.select()
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
rango.move(sheet['E6'])
|
||||
|
||||
* Move to other sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.move(doc[-1]['E6'])
|
||||
|
||||
|
||||
Insert
|
||||
^^^^^^
|
||||
|
||||
* Default insert down
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C1']
|
||||
rango.insert()
|
||||
|
||||
* Insert and move right
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.RIGHT)
|
||||
|
||||
* Insert entire rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.ROWS)
|
||||
|
||||
* Insert entire columns
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.COLUMNS)
|
||||
|
||||
|
||||
Delete
|
||||
^^^^^^
|
||||
|
||||
* Default move up
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C1']
|
||||
rango.delete()
|
||||
|
||||
* Delete and move left
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.LEFT)
|
||||
|
||||
* Delete entire rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.ROWS)
|
||||
|
||||
* Delete entire columns
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.COLUMNS)
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Using native method `copyRange`, current range always should be a cell and source should be a range.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A5']
|
||||
source = sheet['D1:E4']
|
||||
cell.copy_from(source)
|
||||
|
||||
* From range to cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
target = sheet['E1']
|
||||
rango.copy_to(target)
|
|
@ -0,0 +1,332 @@
|
|||
Sheets
|
||||
~~~~~~
|
||||
|
||||
Active sheet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
# or
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
|
||||
|
||||
Get by index
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc[0]
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Get by name
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc['Sheet1']
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Contains
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox('Sheet1' in doc)
|
||||
|
||||
|
||||
Get tuple with all names
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.names)
|
||||
|
||||
|
||||
Count
|
||||
^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(len(doc))
|
||||
|
||||
New
|
||||
^^^
|
||||
|
||||
* Always validate if new name not exists.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
|
||||
sheet = doc.new_sheet()
|
||||
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
|
||||
doc['NewSheet'] = sheet
|
||||
|
||||
# ~ or
|
||||
|
||||
sheet = doc.insert('NewSheet2')
|
||||
|
||||
* Insert multiple, get last insert.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
names = ('One', 'Two', 'Three')
|
||||
sheet = doc.insert(names)
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
* Move by object to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet)
|
||||
|
||||
* Move by name to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.move('Sheet1')
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet, 2)
|
||||
|
||||
* Move from sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move()
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move(2)
|
||||
|
||||
|
||||
Remove
|
||||
^^^^^^
|
||||
|
||||
* Remove by object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.remove(sheet)
|
||||
|
||||
* Remove by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.remove('One')
|
||||
|
||||
* Remove from sheet.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.remove()
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Copy inside the same spreadsheet.
|
||||
|
||||
* By object
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.copy(sheet, 'OtherSheet')
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.copy('Sheet1', 'Sheet2')
|
||||
|
||||
* From sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.copy(sheet.name + '_2')
|
||||
|
||||
|
||||
Copy from
|
||||
^^^^^^^^^
|
||||
|
||||
* Copy sheet from one spreadsheet to other.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc_source = app.docs['Contacts.ods']
|
||||
name_source = 'Names'
|
||||
name_target = 'Names'
|
||||
position = 0
|
||||
doc.copy_from(doc_source, name_source, name_target, position)
|
||||
|
||||
|
||||
Copy to
|
||||
^^^^^^^
|
||||
|
||||
* Copy from sheet with the same name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc)
|
||||
|
||||
* Used new name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc, 'NewName')
|
||||
|
||||
|
||||
Sort
|
||||
^^^^
|
||||
|
||||
* Sort sheets by names.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc.sort()
|
||||
|
||||
Name
|
||||
^^^^
|
||||
|
||||
* Name visible by the user.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
sheet.name = 'NewName'
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Code name
|
||||
^^^^^^^^^
|
||||
|
||||
* Name only accessible by code.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.code_name)
|
||||
sheet.code_name = 'my_name'
|
||||
app.msgbox(sheet.code_name)
|
||||
|
||||
|
||||
Visible
|
||||
^^^^^^^
|
||||
|
||||
* Apply only with spreadsheet with two or more sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
|
||||
|
||||
Is protected
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* If sheet is protected with password.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Set password
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Remove password
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
sheet.unprotect('letmein')
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Tab color
|
||||
^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
sheet.color = 'red'
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
# RGB
|
||||
sheet.color = (125, 200, 10)
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
|
||||
Document parent
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = sheet.doc
|
||||
|
||||
|
||||
Activate
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
# Get last sheet
|
||||
sheet = doc[-1]
|
||||
|
||||
# Activate from doc
|
||||
doc.activate(sheet)
|
||||
|
||||
# Activate from sheet
|
||||
sheet.activate()
|
|
@ -15,7 +15,7 @@
|
|||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Writer" href="writer.html" />
|
||||
<link rel="next" title="Document" href="calc_doc.html" />
|
||||
<link rel="prev" title="Application" href="application.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
@ -39,544 +39,62 @@
|
|||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">easymacro</span> <span class="k">as</span> <span class="nn">app</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="document">
|
||||
<h2>Document<a class="headerlink" href="#document" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="current-doc">
|
||||
<h3>Current doc<a class="headerlink" href="#current-doc" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">type</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="selection">
|
||||
<h3>Selection<a class="headerlink" href="#selection" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.</p></li>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc_doc.html">Document</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_doc.html#current-doc">Current doc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_doc.html#selection">Selection</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_doc.html#headers">Headers</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_doc.html#tabs">Tabs</a></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">selection</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">selection</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">selection</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="headers">
|
||||
<h3>Headers<a class="headerlink" href="#headers" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Hide or show columns and rows headers.</p></li>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc_sheets.html">Sheets</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#active-sheet">Active sheet</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#get-by-index">Get by index</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#get-by-name">Get by name</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#contains">Contains</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#get-tuple-with-all-names">Get tuple with all names</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#count">Count</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#new">New</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#move">Move</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#remove">Remove</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#copy">Copy</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#copy-from">Copy from</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#copy-to">Copy to</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#sort">Sort</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#name">Name</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#code-name">Code name</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#visible">Visible</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#is-protected">Is protected</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#set-password">Set password</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#remove-password">Remove password</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#tab-color">Tab color</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#document-parent">Document parent</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html#activate">Activate</a></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tabs">
|
||||
<h3>Tabs<a class="headerlink" href="#tabs" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Hide or show tab sheets.</p></li>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc_ranges.html">Cell and ranges</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges.html#cells">Cells</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges.html#ranges">Ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges.html#info-ranges">Info ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges.html#special-ranges">Special ranges</a></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="sheets">
|
||||
<h2>Sheets<a class="headerlink" href="#sheets" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="active-sheet">
|
||||
<h3>Active sheet<a class="headerlink" href="#active-sheet" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># or</span>
|
||||
<span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">active</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-by-index">
|
||||
<h3>Get by index<a class="headerlink" href="#get-by-index" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-by-name">
|
||||
<h3>Get by name<a class="headerlink" href="#get-by-name" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="s1">'Sheet1'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="contains">
|
||||
<h3>Contains<a class="headerlink" href="#contains" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="s1">'Sheet1'</span> <span class="ow">in</span> <span class="n">doc</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-tuple-with-all-names">
|
||||
<h3>Get tuple with all names<a class="headerlink" href="#get-tuple-with-all-names" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="count">
|
||||
<h3>Count<a class="headerlink" href="#count" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">doc</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="new">
|
||||
<h3>New<a class="headerlink" href="#new" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Always validate if new name not exists.</p></li>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc_ranges2.html">Manipulate ranges</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html#select">Select</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html#move">Move</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html#insert">Insert</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html#delete">Delete</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html#copy">Copy</a></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">new_sheet</span><span class="p">()</span>
|
||||
<span class="c1"># CAUTION: If 'NewSheet' exists, reset it to clean sheet.</span>
|
||||
<span class="n">doc</span><span class="p">[</span><span class="s1">'NewSheet'</span><span class="p">]</span> <span class="o">=</span> <span class="n">sheet</span>
|
||||
|
||||
<span class="c1"># ~ or</span>
|
||||
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="s1">'NewSheet2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Insert multiple, get last insert.</p></li>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc_data.html">Data</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_data.html#read">Read</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_data.html#write">Write</a></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">names</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'One'</span><span class="p">,</span> <span class="s1">'Two'</span><span class="p">,</span> <span class="s1">'Three'</span><span class="p">)</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="move">
|
||||
<h3>Move<a class="headerlink" href="#move" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Move by object to last position.</p></li>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move by name to last position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="s1">'Sheet1'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move to position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move from sheet</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">move</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move to position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="remove">
|
||||
<h3>Remove<a class="headerlink" href="#remove" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Remove by object.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Remove by name.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s1">'One'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Remove from sheet.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy">
|
||||
<h3>Copy<a class="headerlink" href="#copy" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Copy inside the same spreadsheet.</p></li>
|
||||
<li><p>By object</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sheet</span><span class="p">,</span> <span class="s1">'OtherSheet'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="s1">'Sheet1'</span><span class="p">,</span> <span class="s1">'Sheet2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>From sheet</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s1">'_2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy-from">
|
||||
<h3>Copy from<a class="headerlink" href="#copy-from" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Copy sheet from one spreadsheet to other.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">doc_source</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="p">[</span><span class="s1">'Contacts.ods'</span><span class="p">]</span>
|
||||
<span class="n">name_source</span> <span class="o">=</span> <span class="s1">'Names'</span>
|
||||
<span class="n">name_target</span> <span class="o">=</span> <span class="s1">'Names'</span>
|
||||
<span class="n">position</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">copy_from</span><span class="p">(</span><span class="n">doc_source</span><span class="p">,</span> <span class="n">name_source</span><span class="p">,</span> <span class="n">name_target</span><span class="p">,</span> <span class="n">position</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy-to">
|
||||
<h3>Copy to<a class="headerlink" href="#copy-to" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Copy from sheet with the same name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="o">.</span><span class="n">new</span><span class="p">()</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy_to</span><span class="p">(</span><span class="n">doc</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Used new name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="o">.</span><span class="n">new</span><span class="p">()</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy_to</span><span class="p">(</span><span class="n">doc</span><span class="p">,</span> <span class="s1">'NewName'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="sort">
|
||||
<h3>Sort<a class="headerlink" href="#sort" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Sort sheets by names.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="name">
|
||||
<h3>Name<a class="headerlink" href="#name" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Name visible by the user.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s1">'NewName'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="code-name">
|
||||
<h3>Code name<a class="headerlink" href="#code-name" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Name only accessible by code.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span> <span class="o">=</span> <span class="s1">'my_name'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="visible">
|
||||
<h3>Visible<a class="headerlink" href="#visible" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Apply only with spreadsheet with two or more sheets.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-protected">
|
||||
<h3>Is protected<a class="headerlink" href="#is-protected" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>If sheet is protected with password.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="set-password">
|
||||
<h3>Set password<a class="headerlink" href="#set-password" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">'letmein'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="remove-password">
|
||||
<h3>Remove password<a class="headerlink" href="#remove-password" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">'letmein'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">unprotect</span><span class="p">(</span><span class="s1">'letmein'</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tab-color">
|
||||
<h3>Tab color<a class="headerlink" href="#tab-color" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="s1">'red'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># RGB</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="p">(</span><span class="mi">125</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="document-parent">
|
||||
<h3>Document parent<a class="headerlink" href="#document-parent" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">sheet</span><span class="o">.</span><span class="n">doc</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="activate">
|
||||
<h3>Activate<a class="headerlink" href="#activate" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="c1"># Get last sheet</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># Activate from doc</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">activate</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Activate from sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">activate</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="ranges">
|
||||
<h2>Ranges<a class="headerlink" href="#ranges" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="cells">
|
||||
<h3>Cells<a class="headerlink" href="#cells" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By position [row, column]</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="id1">
|
||||
<h3>Ranges<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'B2:D5'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By position [start_row:end_row, start_column:end_column]</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">5</span><span class="p">,</span><span class="mi">1</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Group ranges</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">last</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">with</span> <span class="n">doc</span><span class="o">.</span><span class="n">ranges</span> <span class="k">as</span> <span class="n">r</span><span class="p">:</span>
|
||||
<span class="c1"># Add one range</span>
|
||||
<span class="n">r</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:B2'</span><span class="p">])</span>
|
||||
<span class="n">r2</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'C4:D5'</span><span class="p">]</span>
|
||||
<span class="n">r3</span> <span class="o">=</span> <span class="n">last</span><span class="p">[</span><span class="s1">'E7:D8'</span><span class="p">]</span>
|
||||
<span class="n">r4</span> <span class="o">=</span> <span class="n">last</span><span class="p">[</span><span class="s1">'E10:F12'</span><span class="p">]</span>
|
||||
<span class="c1"># Add multiple ranges</span>
|
||||
<span class="n">r</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">r2</span><span class="p">,</span> <span class="n">r3</span><span class="p">,</span> <span class="n">r4</span><span class="p">))</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get the same range in all sheets</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">ranges</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">get_ranges</span><span class="p">(</span><span class="s1">'A1:B1'</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">ranges</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get columns by name.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'B:B'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'D:F'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get columns by position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="c1"># Column B</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">0</span><span class="p">:,</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Columnas D:F</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">0</span><span class="p">:,</span><span class="mi">3</span><span class="p">:</span><span class="mi">6</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get rows</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="c1"># One row</span>
|
||||
<span class="n">row</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">row</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Range rows</span>
|
||||
<span class="n">row</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">10</span><span class="p">,</span><span class="mi">0</span><span class="p">:]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">row</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="info-ranges">
|
||||
<h3>Info ranges<a class="headerlink" href="#info-ranges" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Get absolute name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get address</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
<span class="n">a</span> <span class="o">=</span> <span class="n">rango</span><span class="o">.</span><span class="n">address</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"""Cell Address</span>
|
||||
<span class="s2">Row: </span><span class="si">{</span><span class="n">a</span><span class="o">.</span><span class="n">Row</span><span class="si">}</span><span class="s2"></span>
|
||||
<span class="s2">Column: </span><span class="si">{</span><span class="n">a</span><span class="o">.</span><span class="n">Column</span><span class="si">}</span><span class="s2"></span>
|
||||
<span class="s2">"""</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span>
|
||||
<span class="n">ra</span> <span class="o">=</span> <span class="n">rango</span><span class="o">.</span><span class="n">range_address</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<span class="sa">f</span><span class="s1">'Range Address:</span><span class="se">\n\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'Star Row: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">StartRow</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'End Row: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">EndRow</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'Star Column: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">StartColumn</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'End Column: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">EndColumn</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="special-ranges">
|
||||
<h3>Special ranges<a class="headerlink" href="#special-ranges" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>Get used area</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="o">.</span><span class="n">used_area</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get current region</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">current_region</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get next free cell</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">next_cell</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get merged area</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">merged_area</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get visible cells</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rangos</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span><span class="o">.</span><span class="n">visible</span>
|
||||
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">rangos</span><span class="p">:</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get empty cells</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rangos</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span><span class="o">.</span><span class="n">empty</span>
|
||||
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">rangos</span><span class="p">:</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="manipulate-ranges">
|
||||
<h2>Manipulate ranges<a class="headerlink" href="#manipulate-ranges" title="Permalink to this headline">¶</a></h2>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
@ -621,7 +139,7 @@
|
|||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li>Previous: <a href="application.html" title="previous chapter">Application</a></li>
|
||||
<li>Next: <a href="writer.html" title="next chapter">Writer</a></li>
|
||||
<li>Next: <a href="calc_doc.html" title="next chapter">Document</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Data — ZAZ documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Writer" href="writer.html" />
|
||||
<link rel="prev" title="Manipulate ranges" href="calc_ranges2.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="data">
|
||||
<h1>Data<a class="headerlink" href="#data" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="read">
|
||||
<h2>Read<a class="headerlink" href="#read" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Get value from cell, automatic detect type and get value.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="n">cell</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="n">info</span> <span class="o">=</span> <span class="sa">f</span><span class="s1">'Cell Type = </span><span class="si">{</span><span class="n">cell</span><span class="o">.</span><span class="n">type</span><span class="si">}</span><span class="se">\n\n</span><span class="s1">Cell Value = </span><span class="si">{</span><span class="n">cell</span><span class="o">.</span><span class="n">value</span><span class="si">}</span><span class="s1">'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="write">
|
||||
<h2>Write<a class="headerlink" href="#write" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Automatic detect data type.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
|
||||
<span class="c1"># ~ Set int</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
|
||||
<span class="c1"># ~ Set float</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A2'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="mf">10.5</span>
|
||||
|
||||
<span class="c1"># ~ Set string</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A3'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="s1">'Damn World'</span>
|
||||
|
||||
<span class="c1"># ~ Set date</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A4'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">today</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># ~ Set time</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A5'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># ~ Set datetime</span>
|
||||
<span class="n">sheet</span><span class="p">[</span><span class="s1">'A6'</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="../index.html">ZAZ</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="easymacro.html">Library easymacro.py</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools_for_debug.html">Tools for debug</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="paths.html">Paths and files</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="email.html">Email</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html">Application</a></li>
|
||||
<li class="toctree-l2 current"><a class="reference internal" href="calc.html">Calc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="writer.html">Writer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="base.html">Base</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li><a href="calc.html">Calc</a><ul>
|
||||
<li>Previous: <a href="calc_ranges2.html" title="previous chapter">Manipulate ranges</a></li>
|
||||
<li>Next: <a href="writer.html" title="next chapter">Writer</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2021, Mauricio Baeza.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/main/calc_data.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,171 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Document — ZAZ documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Sheets" href="calc_sheets.html" />
|
||||
<link rel="prev" title="Calc" href="calc.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="document">
|
||||
<h1>Document<a class="headerlink" href="#document" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="current-doc">
|
||||
<h2>Current doc<a class="headerlink" href="#current-doc" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">type</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="selection">
|
||||
<h2>Selection<a class="headerlink" href="#selection" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">selection</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">selection</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">selection</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="headers">
|
||||
<h2>Headers<a class="headerlink" href="#headers" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Hide or show columns and rows headers.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tabs">
|
||||
<h2>Tabs<a class="headerlink" href="#tabs" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Hide or show tab sheets.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="../index.html">ZAZ</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="easymacro.html">Library easymacro.py</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools_for_debug.html">Tools for debug</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="paths.html">Paths and files</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="email.html">Email</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html">Application</a></li>
|
||||
<li class="toctree-l2 current"><a class="reference internal" href="calc.html">Calc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="writer.html">Writer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="base.html">Base</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li><a href="calc.html">Calc</a><ul>
|
||||
<li>Previous: <a href="calc.html" title="previous chapter">Calc</a></li>
|
||||
<li>Next: <a href="calc_sheets.html" title="next chapter">Sheets</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2021, Mauricio Baeza.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/main/calc_doc.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,310 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Cell and ranges — ZAZ documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Data" href="calc_data.html" />
|
||||
<link rel="prev" title="Sheets" href="calc_sheets.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="cell-and-ranges">
|
||||
<h1>Cell and ranges<a class="headerlink" href="#cell-and-ranges" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="cells">
|
||||
<h2>Cells<a class="headerlink" href="#cells" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By position [row, column]</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="ranges">
|
||||
<h2>Ranges<a class="headerlink" href="#ranges" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'B2:D5'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By position [start_row:end_row, start_column:end_column]</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">5</span><span class="p">,</span><span class="mi">1</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Group ranges</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">last</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">with</span> <span class="n">doc</span><span class="o">.</span><span class="n">ranges</span> <span class="k">as</span> <span class="n">r</span><span class="p">:</span>
|
||||
<span class="c1"># Add one range</span>
|
||||
<span class="n">r</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:B2'</span><span class="p">])</span>
|
||||
<span class="n">r2</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'C4:D5'</span><span class="p">]</span>
|
||||
<span class="n">r3</span> <span class="o">=</span> <span class="n">last</span><span class="p">[</span><span class="s1">'E7:D8'</span><span class="p">]</span>
|
||||
<span class="n">r4</span> <span class="o">=</span> <span class="n">last</span><span class="p">[</span><span class="s1">'E10:F12'</span><span class="p">]</span>
|
||||
<span class="c1"># Add multiple ranges</span>
|
||||
<span class="n">r</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">r2</span><span class="p">,</span> <span class="n">r3</span><span class="p">,</span> <span class="n">r4</span><span class="p">))</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get the same range in all sheets</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">ranges</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">get_ranges</span><span class="p">(</span><span class="s1">'A1:B1'</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">ranges</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get columns by name.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'B:B'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'D:F'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get columns by position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="c1"># Column B</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">0</span><span class="p">:,</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Columnas D:F</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">0</span><span class="p">:,</span><span class="mi">3</span><span class="p">:</span><span class="mi">6</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get rows</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="c1"># One row</span>
|
||||
<span class="n">row</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">row</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Range rows</span>
|
||||
<span class="n">row</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">10</span><span class="p">,</span><span class="mi">0</span><span class="p">:]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">row</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="info-ranges">
|
||||
<h2>Info ranges<a class="headerlink" href="#info-ranges" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Get absolute name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get address</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
<span class="n">a</span> <span class="o">=</span> <span class="n">rango</span><span class="o">.</span><span class="n">address</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"""Cell Address</span>
|
||||
<span class="s2">Row: </span><span class="si">{</span><span class="n">a</span><span class="o">.</span><span class="n">Row</span><span class="si">}</span><span class="s2"></span>
|
||||
<span class="s2">Column: </span><span class="si">{</span><span class="n">a</span><span class="o">.</span><span class="n">Column</span><span class="si">}</span><span class="s2"></span>
|
||||
<span class="s2">"""</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span>
|
||||
<span class="n">ra</span> <span class="o">=</span> <span class="n">rango</span><span class="o">.</span><span class="n">range_address</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<span class="sa">f</span><span class="s1">'Range Address:</span><span class="se">\n\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'Star Row: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">StartRow</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'End Row: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">EndRow</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'Star Column: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">StartColumn</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="sa">f</span><span class="s1">'End Column: </span><span class="si">{</span><span class="n">ra</span><span class="o">.</span><span class="n">EndColumn</span><span class="si">}</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="special-ranges">
|
||||
<h2>Special ranges<a class="headerlink" href="#special-ranges" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Get used area</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="o">.</span><span class="n">used_area</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get current region</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">current_region</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get next free cell</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">next_cell</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">cell</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get merged area</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span><span class="o">.</span><span class="n">merged_area</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">rango</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get visible cells</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rangos</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span><span class="o">.</span><span class="n">visible</span>
|
||||
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">rangos</span><span class="p">:</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Get empty cells</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rangos</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:E10'</span><span class="p">]</span><span class="o">.</span><span class="n">empty</span>
|
||||
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">rangos</span><span class="p">:</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="../index.html">ZAZ</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="easymacro.html">Library easymacro.py</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools_for_debug.html">Tools for debug</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="paths.html">Paths and files</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="email.html">Email</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html">Application</a></li>
|
||||
<li class="toctree-l2 current"><a class="reference internal" href="calc.html">Calc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="writer.html">Writer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="base.html">Base</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li><a href="calc.html">Calc</a><ul>
|
||||
<li>Previous: <a href="calc_sheets.html" title="previous chapter">Sheets</a></li>
|
||||
<li>Next: <a href="calc_data.html" title="next chapter">Data</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2021, Mauricio Baeza.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/main/calc_ranges.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,242 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Manipulate ranges — ZAZ documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Data" href="calc_data.html" />
|
||||
<link rel="prev" title="Cell and ranges" href="calc_ranges.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="manipulate-ranges">
|
||||
<h1>Manipulate ranges<a class="headerlink" href="#manipulate-ranges" title="Permalink to this headline">¶</a></h1>
|
||||
<p><strong>Not, not is necesary select range for manipulate</strong></p>
|
||||
<section id="select">
|
||||
<h2>Select<a class="headerlink" href="#select" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Select from doc</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
|
||||
<span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1'</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Select in self range</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:C5'</span><span class="p">]</span>
|
||||
<span class="n">rango</span><span class="o">.</span><span class="n">select</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="move">
|
||||
<h2>Move<a class="headerlink" href="#move" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:C5'</span><span class="p">]</span>
|
||||
<span class="n">rango</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">[</span><span class="s1">'E6'</span><span class="p">])</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move to other sheet</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">doc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s1">'E6'</span><span class="p">])</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="insert">
|
||||
<h2>Insert<a class="headerlink" href="#insert" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Default insert down</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:C1'</span><span class="p">]</span>
|
||||
<span class="n">rango</span><span class="o">.</span><span class="n">insert</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Insert and move right</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellInsertMode</span><span class="o">.</span><span class="n">RIGHT</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Insert entire rows</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellInsertMode</span><span class="o">.</span><span class="n">ROWS</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Insert entire columns</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellInsertMode</span><span class="o">.</span><span class="n">COLUMNS</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="delete">
|
||||
<h2>Delete<a class="headerlink" href="#delete" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Default move up</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:C1'</span><span class="p">]</span>
|
||||
<span class="n">rango</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Delete and move left</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellDeleteMode</span><span class="o">.</span><span class="n">LEFT</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Delete entire rows</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellDeleteMode</span><span class="o">.</span><span class="n">ROWS</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Delete entire columns</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rango</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">CellDeleteMode</span><span class="o">.</span><span class="n">COLUMNS</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy">
|
||||
<h2>Copy<a class="headerlink" href="#copy" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Using native method <cite>copyRange</cite>, current range always should be a cell and source should be a range.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A5'</span><span class="p">]</span>
|
||||
<span class="n">source</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'D1:E4'</span><span class="p">]</span>
|
||||
<span class="n">cell</span><span class="o">.</span><span class="n">copy_from</span><span class="p">(</span><span class="n">source</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>From range to cell</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'A1:C5'</span><span class="p">]</span>
|
||||
<span class="n">target</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">'E1'</span><span class="p">]</span>
|
||||
<span class="n">rango</span><span class="o">.</span><span class="n">copy_to</span><span class="p">(</span><span class="n">target</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="../index.html">ZAZ</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="easymacro.html">Library easymacro.py</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools_for_debug.html">Tools for debug</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="paths.html">Paths and files</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="email.html">Email</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html">Application</a></li>
|
||||
<li class="toctree-l2 current"><a class="reference internal" href="calc.html">Calc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="writer.html">Writer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="base.html">Base</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li><a href="calc.html">Calc</a><ul>
|
||||
<li>Previous: <a href="calc_ranges.html" title="previous chapter">Cell and ranges</a></li>
|
||||
<li>Next: <a href="calc_data.html" title="next chapter">Data</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2021, Mauricio Baeza.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/main/calc_ranges2.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,426 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Sheets — ZAZ documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Data" href="calc_data.html" />
|
||||
<link rel="prev" title="Document" href="calc_doc.html" />
|
||||
|
||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="sheets">
|
||||
<h1>Sheets<a class="headerlink" href="#sheets" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="active-sheet">
|
||||
<h2>Active sheet<a class="headerlink" href="#active-sheet" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># or</span>
|
||||
<span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">active</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-by-index">
|
||||
<h2>Get by index<a class="headerlink" href="#get-by-index" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-by-name">
|
||||
<h2>Get by name<a class="headerlink" href="#get-by-name" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="s1">'Sheet1'</span><span class="p">]</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="contains">
|
||||
<h2>Contains<a class="headerlink" href="#contains" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="s1">'Sheet1'</span> <span class="ow">in</span> <span class="n">doc</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="get-tuple-with-all-names">
|
||||
<h2>Get tuple with all names<a class="headerlink" href="#get-tuple-with-all-names" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="count">
|
||||
<h2>Count<a class="headerlink" href="#count" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">doc</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="new">
|
||||
<h2>New<a class="headerlink" href="#new" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Always validate if new name not exists.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">new_sheet</span><span class="p">()</span>
|
||||
<span class="c1"># CAUTION: If 'NewSheet' exists, reset it to clean sheet.</span>
|
||||
<span class="n">doc</span><span class="p">[</span><span class="s1">'NewSheet'</span><span class="p">]</span> <span class="o">=</span> <span class="n">sheet</span>
|
||||
|
||||
<span class="c1"># ~ or</span>
|
||||
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="s1">'NewSheet2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Insert multiple, get last insert.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">names</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'One'</span><span class="p">,</span> <span class="s1">'Two'</span><span class="p">,</span> <span class="s1">'Three'</span><span class="p">)</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="move">
|
||||
<h2>Move<a class="headerlink" href="#move" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Move by object to last position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move by name to last position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="s1">'Sheet1'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move to position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move from sheet</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">move</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Move to position.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="remove">
|
||||
<h2>Remove<a class="headerlink" href="#remove" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Remove by object.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Remove by name.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s1">'One'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Remove from sheet.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy">
|
||||
<h2>Copy<a class="headerlink" href="#copy" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Copy inside the same spreadsheet.</p></li>
|
||||
<li><p>By object</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sheet</span><span class="p">,</span> <span class="s1">'OtherSheet'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>By name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="s1">'Sheet1'</span><span class="p">,</span> <span class="s1">'Sheet2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>From sheet</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s1">'_2'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy-from">
|
||||
<h2>Copy from<a class="headerlink" href="#copy-from" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Copy sheet from one spreadsheet to other.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">doc_source</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="p">[</span><span class="s1">'Contacts.ods'</span><span class="p">]</span>
|
||||
<span class="n">name_source</span> <span class="o">=</span> <span class="s1">'Names'</span>
|
||||
<span class="n">name_target</span> <span class="o">=</span> <span class="s1">'Names'</span>
|
||||
<span class="n">position</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">copy_from</span><span class="p">(</span><span class="n">doc_source</span><span class="p">,</span> <span class="n">name_source</span><span class="p">,</span> <span class="n">name_target</span><span class="p">,</span> <span class="n">position</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="copy-to">
|
||||
<h2>Copy to<a class="headerlink" href="#copy-to" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Copy from sheet with the same name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="o">.</span><span class="n">new</span><span class="p">()</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy_to</span><span class="p">(</span><span class="n">doc</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Used new name</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="o">.</span><span class="n">new</span><span class="p">()</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">copy_to</span><span class="p">(</span><span class="n">doc</span><span class="p">,</span> <span class="s1">'NewName'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="sort">
|
||||
<h2>Sort<a class="headerlink" href="#sort" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Sort sheets by names.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="name">
|
||||
<h2>Name<a class="headerlink" href="#name" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Name visible by the user.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s1">'NewName'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="code-name">
|
||||
<h2>Code name<a class="headerlink" href="#code-name" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Name only accessible by code.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span> <span class="o">=</span> <span class="s1">'my_name'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="visible">
|
||||
<h2>Visible<a class="headerlink" href="#visible" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Apply only with spreadsheet with two or more sheets.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-protected">
|
||||
<h2>Is protected<a class="headerlink" href="#is-protected" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>If sheet is protected with password.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="set-password">
|
||||
<h2>Set password<a class="headerlink" href="#set-password" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">'letmein'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="remove-password">
|
||||
<h2>Remove password<a class="headerlink" href="#remove-password" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">'letmein'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">unprotect</span><span class="p">(</span><span class="s1">'letmein'</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">is_protected</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tab-color">
|
||||
<h2>Tab color<a class="headerlink" href="#tab-color" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="s1">'red'</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># RGB</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="p">(</span><span class="mi">125</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">color</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="document-parent">
|
||||
<h2>Document parent<a class="headerlink" href="#document-parent" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">sheet</span><span class="o">.</span><span class="n">doc</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="activate">
|
||||
<h2>Activate<a class="headerlink" href="#activate" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
|
||||
<span class="c1"># Get last sheet</span>
|
||||
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># Activate from doc</span>
|
||||
<span class="n">doc</span><span class="o">.</span><span class="n">activate</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Activate from sheet</span>
|
||||
<span class="n">sheet</span><span class="o">.</span><span class="n">activate</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="../index.html">ZAZ</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<p class="caption"><span class="caption-text">Contents:</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="easymacro.html">Library easymacro.py</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools_for_debug.html">Tools for debug</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="paths.html">Paths and files</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="email.html">Email</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html">Application</a></li>
|
||||
<li class="toctree-l2 current"><a class="reference internal" href="calc.html">Calc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="writer.html">Writer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="base.html">Base</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="../index.html">Documentation overview</a><ul>
|
||||
<li><a href="easymacro.html">Library easymacro.py</a><ul>
|
||||
<li><a href="calc.html">Calc</a><ul>
|
||||
<li>Previous: <a href="calc_doc.html" title="previous chapter">Document</a></li>
|
||||
<li>Next: <a href="calc_data.html" title="next chapter">Data</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2021, Mauricio Baeza.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.2</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="../_sources/main/calc_sheets.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -140,10 +140,11 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="calc.html">Calc</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc.html#document">Document</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc.html#sheets">Sheets</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc.html#ranges">Ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc.html#manipulate-ranges">Manipulate ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_doc.html">Document</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_sheets.html">Sheets</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges.html">Cell and ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_ranges2.html">Manipulate ranges</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="calc_data.html">Data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="writer.html">Writer</a><ul>
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,3 @@
|
|||
|
||||
Calc
|
||||
----
|
||||
|
||||
|
@ -9,583 +8,11 @@ Remember, always import library.
|
|||
import easymacro as app
|
||||
|
||||
|
||||
Document
|
||||
~~~~~~~~
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Selection
|
||||
^^^^^^^^^
|
||||
|
||||
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
selection = doc.selection
|
||||
app.msgbox(type(selection))
|
||||
|
||||
|
||||
Headers
|
||||
^^^^^^^
|
||||
|
||||
* Hide or show columns and rows headers.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
|
||||
|
||||
Tabs
|
||||
^^^^
|
||||
|
||||
* Hide or show tab sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
|
||||
|
||||
Sheets
|
||||
~~~~~~
|
||||
|
||||
Active sheet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
# or
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
|
||||
|
||||
Get by index
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc[0]
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Get by name
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc['Sheet1']
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Contains
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox('Sheet1' in doc)
|
||||
|
||||
|
||||
Get tuple with all names
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.names)
|
||||
|
||||
|
||||
Count
|
||||
^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(len(doc))
|
||||
|
||||
New
|
||||
^^^
|
||||
|
||||
* Always validate if new name not exists.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
|
||||
sheet = doc.new_sheet()
|
||||
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
|
||||
doc['NewSheet'] = sheet
|
||||
|
||||
# ~ or
|
||||
|
||||
sheet = doc.insert('NewSheet2')
|
||||
|
||||
* Insert multiple, get last insert.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
names = ('One', 'Two', 'Three')
|
||||
sheet = doc.insert(names)
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
* Move by object to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet)
|
||||
|
||||
* Move by name to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.move('Sheet1')
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet, 2)
|
||||
|
||||
* Move from sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move()
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move(2)
|
||||
|
||||
|
||||
Remove
|
||||
^^^^^^
|
||||
|
||||
* Remove by object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.remove(sheet)
|
||||
|
||||
* Remove by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.remove('One')
|
||||
|
||||
* Remove from sheet.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.remove()
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Copy inside the same spreadsheet.
|
||||
|
||||
* By object
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.copy(sheet, 'OtherSheet')
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.copy('Sheet1', 'Sheet2')
|
||||
|
||||
* From sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.copy(sheet.name + '_2')
|
||||
|
||||
|
||||
Copy from
|
||||
^^^^^^^^^
|
||||
|
||||
* Copy sheet from one spreadsheet to other.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc_source = app.docs['Contacts.ods']
|
||||
name_source = 'Names'
|
||||
name_target = 'Names'
|
||||
position = 0
|
||||
doc.copy_from(doc_source, name_source, name_target, position)
|
||||
|
||||
|
||||
Copy to
|
||||
^^^^^^^
|
||||
|
||||
* Copy from sheet with the same name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc)
|
||||
|
||||
* Used new name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc, 'NewName')
|
||||
|
||||
|
||||
Sort
|
||||
^^^^
|
||||
|
||||
* Sort sheets by names.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc.sort()
|
||||
|
||||
Name
|
||||
^^^^
|
||||
|
||||
* Name visible by the user.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
sheet.name = 'NewName'
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Code name
|
||||
^^^^^^^^^
|
||||
|
||||
* Name only accessible by code.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.code_name)
|
||||
sheet.code_name = 'my_name'
|
||||
app.msgbox(sheet.code_name)
|
||||
|
||||
|
||||
Visible
|
||||
^^^^^^^
|
||||
|
||||
* Apply only with spreadsheet with two or more sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
|
||||
|
||||
Is protected
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* If sheet is protected with password.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Set password
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Remove password
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
sheet.unprotect('letmein')
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Tab color
|
||||
^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
sheet.color = 'red'
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
# RGB
|
||||
sheet.color = (125, 200, 10)
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
|
||||
Document parent
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = sheet.doc
|
||||
|
||||
|
||||
Activate
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
# Get last sheet
|
||||
sheet = doc[-1]
|
||||
|
||||
# Activate from doc
|
||||
doc.activate(sheet)
|
||||
|
||||
# Activate from sheet
|
||||
sheet.activate()
|
||||
|
||||
|
||||
Ranges
|
||||
~~~~~~
|
||||
|
||||
Cells
|
||||
^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
* By position [row, column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet[1, 4]
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
Ranges
|
||||
^^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B2:D5']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* By position [start_row:end_row, start_column:end_column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet[1:5,1:4]
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Group ranges
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
last = doc[-1]
|
||||
with doc.ranges as r:
|
||||
# Add one range
|
||||
r.add(sheet['A1:B2'])
|
||||
r2 = sheet['C4:D5']
|
||||
r3 = last['E7:D8']
|
||||
r4 = last['E10:F12']
|
||||
# Add multiple ranges
|
||||
r.add((r2, r3, r4))
|
||||
app.debug(r.names)
|
||||
|
||||
* Get the same range in all sheets
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
ranges = doc.get_ranges('A1:B1')
|
||||
app.debug(ranges.names)
|
||||
|
||||
* Get columns by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B:B']
|
||||
app.debug(rango.name)
|
||||
|
||||
rango = sheet['D:F']
|
||||
app.debug(rango.name)
|
||||
|
||||
* Get columns by position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# Column B
|
||||
rango = sheet[0:,1]
|
||||
app.debug(rango.name)
|
||||
|
||||
# Columnas D:F
|
||||
rango = sheet[0:,3:6]
|
||||
app.debug(rango.name)
|
||||
|
||||
|
||||
* Get rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# One row
|
||||
row = sheet[1]
|
||||
app.debug(row.name)
|
||||
|
||||
# Range rows
|
||||
row = sheet[3:10,0:]
|
||||
app.debug(row.name)
|
||||
|
||||
|
||||
Info ranges
|
||||
^^^^^^^^^^^
|
||||
|
||||
* Get absolute name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:E10']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get address
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1']
|
||||
a = rango.address
|
||||
data = f"""Cell Address
|
||||
Row: {a.Row}
|
||||
Column: {a.Column}
|
||||
"""
|
||||
app.msgbox(data)
|
||||
|
||||
rango = sheet['A1:E10']
|
||||
ra = rango.range_address
|
||||
data = (
|
||||
f'Range Address:\n\n'
|
||||
f'Star Row: {ra.StartRow}\n'
|
||||
f'End Row: {ra.EndRow}\n'
|
||||
f'Star Column: {ra.StartColumn}\n'
|
||||
f'End Column: {ra.EndColumn}\n'
|
||||
)
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Special ranges
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
* Get used area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet.used_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get current region
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet['A1'].current_region
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get next free cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet['A1'].next_cell
|
||||
app.msgbox(cell.name)
|
||||
|
||||
* Get merged area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1'].merged_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get visible cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].visible
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
* Get empty cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].empty
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
|
||||
Manipulate ranges
|
||||
~~~~~~~~~~~~~~~~~
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
calc_doc.rst
|
||||
calc_sheets.rst
|
||||
calc_ranges.rst
|
||||
calc_ranges2.rst
|
||||
calc_data.rst
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
Data
|
||||
~~~~
|
||||
|
||||
Read
|
||||
^^^^
|
||||
|
||||
* Get value from cell, automatic detect type and get value.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
|
||||
value = cell.value
|
||||
info = f'Cell Type = {cell.type}\n\nCell Value = {cell.value}'
|
||||
app.msgbox(info)
|
||||
|
||||
|
||||
Write
|
||||
^^^^^
|
||||
|
||||
* Automatic detect data type.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
|
||||
# ~ Set int
|
||||
sheet['A1'].value = 1
|
||||
|
||||
# ~ Set float
|
||||
sheet['A2'].value = 10.5
|
||||
|
||||
# ~ Set string
|
||||
sheet['A3'].value = 'Damn World'
|
||||
|
||||
# ~ Set date
|
||||
sheet['A4'].value = app.today()
|
||||
|
||||
# ~ Set time
|
||||
sheet['A5'].value = app.now(True)
|
||||
|
||||
# ~ Set datetime
|
||||
sheet['A6'].value = app.now()
|
|
@ -0,0 +1,50 @@
|
|||
Document
|
||||
~~~~~~~~
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Selection
|
||||
^^^^^^^^^
|
||||
|
||||
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
selection = doc.selection
|
||||
app.msgbox(type(selection))
|
||||
|
||||
|
||||
Headers
|
||||
^^^^^^^
|
||||
|
||||
* Hide or show columns and rows headers.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
app.msgbox(doc.headers)
|
||||
doc.headers = not doc.headers
|
||||
|
||||
|
||||
Tabs
|
||||
^^^^
|
||||
|
||||
* Hide or show tab sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
||||
app.msgbox(doc.tabs)
|
||||
doc.tabs = not doc.tabs
|
|
@ -0,0 +1,190 @@
|
|||
Cell and ranges
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Cells
|
||||
^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A1']
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
* By position [row, column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet[1, 4]
|
||||
app.msgbox(cell.name)
|
||||
|
||||
|
||||
Ranges
|
||||
^^^^^^
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B2:D5']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* By position [start_row:end_row, start_column:end_column]
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet[1:5,1:4]
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Group ranges
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
last = doc[-1]
|
||||
with doc.ranges as r:
|
||||
# Add one range
|
||||
r.add(sheet['A1:B2'])
|
||||
r2 = sheet['C4:D5']
|
||||
r3 = last['E7:D8']
|
||||
r4 = last['E10:F12']
|
||||
# Add multiple ranges
|
||||
r.add((r2, r3, r4))
|
||||
app.debug(r.names)
|
||||
|
||||
* Get the same range in all sheets
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
ranges = doc.get_ranges('A1:B1')
|
||||
app.debug(ranges.names)
|
||||
|
||||
* Get columns by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['B:B']
|
||||
app.debug(rango.name)
|
||||
|
||||
rango = sheet['D:F']
|
||||
app.debug(rango.name)
|
||||
|
||||
* Get columns by position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# Column B
|
||||
rango = sheet[0:,1]
|
||||
app.debug(rango.name)
|
||||
|
||||
# Columnas D:F
|
||||
rango = sheet[0:,3:6]
|
||||
app.debug(rango.name)
|
||||
|
||||
|
||||
* Get rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
# One row
|
||||
row = sheet[1]
|
||||
app.debug(row.name)
|
||||
|
||||
# Range rows
|
||||
row = sheet[3:10,0:]
|
||||
app.debug(row.name)
|
||||
|
||||
|
||||
Info ranges
|
||||
^^^^^^^^^^^
|
||||
|
||||
* Get absolute name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:E10']
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get address
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1']
|
||||
a = rango.address
|
||||
data = f"""Cell Address
|
||||
Row: {a.Row}
|
||||
Column: {a.Column}
|
||||
"""
|
||||
app.msgbox(data)
|
||||
|
||||
rango = sheet['A1:E10']
|
||||
ra = rango.range_address
|
||||
data = (
|
||||
f'Range Address:\n\n'
|
||||
f'Star Row: {ra.StartRow}\n'
|
||||
f'End Row: {ra.EndRow}\n'
|
||||
f'Star Column: {ra.StartColumn}\n'
|
||||
f'End Column: {ra.EndColumn}\n'
|
||||
)
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Special ranges
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
* Get used area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet.used_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get current region
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango = sheet['A1'].current_region
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get next free cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
cell = sheet['A1'].next_cell
|
||||
app.msgbox(cell.name)
|
||||
|
||||
* Get merged area
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1'].merged_area
|
||||
app.msgbox(rango.name)
|
||||
|
||||
* Get visible cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].visible
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
||||
|
||||
* Get empty cells
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rangos = sheet['A1:E10'].empty
|
||||
for r in rangos:
|
||||
app.debug(r.name)
|
|
@ -0,0 +1,124 @@
|
|||
Manipulate ranges
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Not, not is necesary select range for manipulate**
|
||||
|
||||
Select
|
||||
^^^^^^
|
||||
|
||||
* Select from doc
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = app.active_sheet
|
||||
|
||||
cell = sheet['A1']
|
||||
doc.select(cell)
|
||||
|
||||
|
||||
* Select in self range
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
rango.select()
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
rango.move(sheet['E6'])
|
||||
|
||||
* Move to other sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.move(doc[-1]['E6'])
|
||||
|
||||
|
||||
Insert
|
||||
^^^^^^
|
||||
|
||||
* Default insert down
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C1']
|
||||
rango.insert()
|
||||
|
||||
* Insert and move right
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.RIGHT)
|
||||
|
||||
* Insert entire rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.ROWS)
|
||||
|
||||
* Insert entire columns
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.insert(app.CellInsertMode.COLUMNS)
|
||||
|
||||
|
||||
Delete
|
||||
^^^^^^
|
||||
|
||||
* Default move up
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C1']
|
||||
rango.delete()
|
||||
|
||||
* Delete and move left
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.LEFT)
|
||||
|
||||
* Delete entire rows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.ROWS)
|
||||
|
||||
* Delete entire columns
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
rango.delete(app.CellDeleteMode.COLUMNS)
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Using native method `copyRange`, current range always should be a cell and source should be a range.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
cell = sheet['A5']
|
||||
source = sheet['D1:E4']
|
||||
cell.copy_from(source)
|
||||
|
||||
* From range to cell
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
rango = sheet['A1:C5']
|
||||
target = sheet['E1']
|
||||
rango.copy_to(target)
|
|
@ -0,0 +1,332 @@
|
|||
Sheets
|
||||
~~~~~~
|
||||
|
||||
Active sheet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
# or
|
||||
doc = app.active
|
||||
sheet = doc.active
|
||||
|
||||
|
||||
Get by index
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc[0]
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Get by name
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
sheet = doc['Sheet1']
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Contains
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox('Sheet1' in doc)
|
||||
|
||||
|
||||
Get tuple with all names
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.names)
|
||||
|
||||
|
||||
Count
|
||||
^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(len(doc))
|
||||
|
||||
New
|
||||
^^^
|
||||
|
||||
* Always validate if new name not exists.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
|
||||
sheet = doc.new_sheet()
|
||||
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
|
||||
doc['NewSheet'] = sheet
|
||||
|
||||
# ~ or
|
||||
|
||||
sheet = doc.insert('NewSheet2')
|
||||
|
||||
* Insert multiple, get last insert.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
names = ('One', 'Two', 'Three')
|
||||
sheet = doc.insert(names)
|
||||
|
||||
|
||||
Move
|
||||
^^^^
|
||||
|
||||
* Move by object to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet)
|
||||
|
||||
* Move by name to last position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.move('Sheet1')
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.move(sheet, 2)
|
||||
|
||||
* Move from sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move()
|
||||
|
||||
* Move to position.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.move(2)
|
||||
|
||||
|
||||
Remove
|
||||
^^^^^^
|
||||
|
||||
* Remove by object.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.remove(sheet)
|
||||
|
||||
* Remove by name.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.remove('One')
|
||||
|
||||
* Remove from sheet.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.remove()
|
||||
|
||||
|
||||
Copy
|
||||
^^^^
|
||||
|
||||
* Copy inside the same spreadsheet.
|
||||
|
||||
* By object
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = doc[0]
|
||||
doc.copy(sheet, 'OtherSheet')
|
||||
|
||||
* By name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc.copy('Sheet1', 'Sheet2')
|
||||
|
||||
* From sheet
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.copy(sheet.name + '_2')
|
||||
|
||||
|
||||
Copy from
|
||||
^^^^^^^^^
|
||||
|
||||
* Copy sheet from one spreadsheet to other.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc_source = app.docs['Contacts.ods']
|
||||
name_source = 'Names'
|
||||
name_target = 'Names'
|
||||
position = 0
|
||||
doc.copy_from(doc_source, name_source, name_target, position)
|
||||
|
||||
|
||||
Copy to
|
||||
^^^^^^^
|
||||
|
||||
* Copy from sheet with the same name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc)
|
||||
|
||||
* Used new name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
sheet = app.active_sheet
|
||||
sheet.copy_to(doc, 'NewName')
|
||||
|
||||
|
||||
Sort
|
||||
^^^^
|
||||
|
||||
* Sort sheets by names.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
doc.sort()
|
||||
|
||||
Name
|
||||
^^^^
|
||||
|
||||
* Name visible by the user.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
||||
sheet.name = 'NewName'
|
||||
app.msgbox(sheet.name)
|
||||
|
||||
|
||||
Code name
|
||||
^^^^^^^^^
|
||||
|
||||
* Name only accessible by code.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.code_name)
|
||||
sheet.code_name = 'my_name'
|
||||
app.msgbox(sheet.code_name)
|
||||
|
||||
|
||||
Visible
|
||||
^^^^^^^
|
||||
|
||||
* Apply only with spreadsheet with two or more sheets.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
app.msgbox(sheet.visible)
|
||||
sheet.visible = not sheet.visible
|
||||
|
||||
|
||||
Is protected
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* If sheet is protected with password.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Set password
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Remove password
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
sheet.password = 'letmein'
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
sheet.unprotect('letmein')
|
||||
app.msgbox(sheet.is_protected)
|
||||
|
||||
|
||||
Tab color
|
||||
^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
sheet.color = 'red'
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
# RGB
|
||||
sheet.color = (125, 200, 10)
|
||||
app.msgbox(sheet.color)
|
||||
|
||||
|
||||
Document parent
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = sheet.doc
|
||||
|
||||
|
||||
Activate
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
# Get last sheet
|
||||
sheet = doc[-1]
|
||||
|
||||
# Activate from doc
|
||||
doc.activate(sheet)
|
||||
|
||||
# Activate from sheet
|
||||
sheet.activate()
|
|
@ -215,6 +215,16 @@ class DataPilotFieldOrientation():
|
|||
DPFO = DataPilotFieldOrientation
|
||||
|
||||
|
||||
class CellInsertMode():
|
||||
from com.sun.star.sheet.CellInsertMode import DOWN, RIGHT, ROWS, COLUMNS
|
||||
CIM = CellInsertMode
|
||||
|
||||
|
||||
class CellDeleteMode():
|
||||
from com.sun.star.sheet.CellDeleteMode import UP, LEFT, ROWS, COLUMNS
|
||||
CDM = CellDeleteMode
|
||||
|
||||
|
||||
OS = platform.system()
|
||||
IS_WIN = OS == 'Windows'
|
||||
IS_MAC = OS == 'Darwin'
|
||||
|
@ -1195,9 +1205,9 @@ class LODocument(object):
|
|||
# ~ return self.obj.getCurrentSelection()
|
||||
return
|
||||
|
||||
def select(self, obj):
|
||||
self._cc.select(obj)
|
||||
return
|
||||
# ~ def select(self, obj):
|
||||
# ~ self._cc.select(obj)
|
||||
# ~ return
|
||||
|
||||
def to_pdf(self, path: str='', options: dict={}):
|
||||
"""
|
||||
|
@ -1502,6 +1512,10 @@ class LOCalc(LODocument):
|
|||
sheet = self.active
|
||||
return sheet.render(data, clean=clean)
|
||||
|
||||
def select(self, rango):
|
||||
self._cc.select(rango.obj)
|
||||
return
|
||||
|
||||
|
||||
class LOChart(object):
|
||||
|
||||
|
@ -2473,6 +2487,10 @@ class LOCalcRange(object):
|
|||
def type(self):
|
||||
return self.obj.Type
|
||||
|
||||
@property
|
||||
def error(self):
|
||||
return self.obj.getError()
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
v = None
|
||||
|
@ -2486,10 +2504,8 @@ class LOCalcRange(object):
|
|||
@value.setter
|
||||
def value(self, data):
|
||||
if isinstance(data, str):
|
||||
# ~ print(isinstance(data, str), data[0])
|
||||
if data[0] in '=':
|
||||
self.obj.setFormula(data)
|
||||
# ~ print('Set Formula')
|
||||
else:
|
||||
self.obj.setString(data)
|
||||
elif isinstance(data, Decimal):
|
||||
|
@ -2668,7 +2684,7 @@ class LOCalcRange(object):
|
|||
self.obj.Validation = current
|
||||
|
||||
def select(self):
|
||||
self.doc.select(self.obj)
|
||||
self.doc._cc.select(self.obj)
|
||||
return
|
||||
|
||||
def search(self, options, find_all=True):
|
||||
|
@ -2728,32 +2744,51 @@ class LOCalcRange(object):
|
|||
cursor.collapseToSize(cols, rows)
|
||||
return LOCalcRange(self.sheet[cursor.AbsoluteName].obj)
|
||||
|
||||
def copy(self, source):
|
||||
def move(self, target):
|
||||
sheet = self.sheet.obj
|
||||
sheet.moveRange(target.address, self.range_address)
|
||||
return
|
||||
|
||||
def insert(self, insert_mode=CIM.DOWN):
|
||||
sheet = self.sheet.obj
|
||||
sheet.insertCells(self.range_address, insert_mode)
|
||||
return
|
||||
|
||||
def delete(self, delete_mode=CDM.UP):
|
||||
sheet = self.sheet.obj
|
||||
sheet.removeRange(self.range_address, delete_mode)
|
||||
return
|
||||
|
||||
def copy_from(self, source):
|
||||
self.sheet.obj.copyRange(self.address, source.range_address)
|
||||
return
|
||||
|
||||
def copy_to(self, cell, formula=False):
|
||||
rango = cell.to_size(self.rows, self.columns)
|
||||
if formula:
|
||||
rango.formula = self.data
|
||||
else:
|
||||
rango.data = self.data
|
||||
def copy_to(self, target):
|
||||
self.sheet.obj.copyRange(target.address, self.range_address)
|
||||
return
|
||||
|
||||
def copy_from(self, rango, formula=False):
|
||||
data = rango
|
||||
if isinstance(rango, LOCalcRange):
|
||||
if formula:
|
||||
data = rango.formula
|
||||
else:
|
||||
data = rango.data
|
||||
rows = len(data)
|
||||
cols = len(data[0])
|
||||
if formula:
|
||||
self.to_size(rows, cols).formula = data
|
||||
else:
|
||||
self.to_size(rows, cols).data = data
|
||||
return
|
||||
# ~ def copy_to(self, cell, formula=False):
|
||||
# ~ rango = cell.to_size(self.rows, self.columns)
|
||||
# ~ if formula:
|
||||
# ~ rango.formula = self.formula
|
||||
# ~ else:
|
||||
# ~ rango.data = self.data
|
||||
# ~ return
|
||||
|
||||
# ~ def copy_from(self, rango, formula=False):
|
||||
# ~ data = rango
|
||||
# ~ if isinstance(rango, LOCalcRange):
|
||||
# ~ if formula:
|
||||
# ~ data = rango.formula
|
||||
# ~ else:
|
||||
# ~ data = rango.data
|
||||
# ~ rows = len(data)
|
||||
# ~ cols = len(data[0])
|
||||
# ~ if formula:
|
||||
# ~ self.to_size(rows, cols).formula = data
|
||||
# ~ else:
|
||||
# ~ self.to_size(rows, cols).data = data
|
||||
# ~ return
|
||||
|
||||
def optimal_width(self):
|
||||
self.obj.Columns.OptimalWidth = True
|
||||
|
|
Loading…
Reference in New Issue