Cells and Ranges
----------------

By selection
^^^^^^^^^^^^

.. code-block:: python

    doc = app.active
    selection = doc.selection
    app.debug(selection)


By name
^^^^^^^

.. code-block:: python

    doc = app.active
    sheet = doc.active
    cell = sheet['A1']
    rango = sheet['C10:D15']

    app.debug(cell)
    app.debug(rango)


By position
^^^^^^^^^^^

For cells: `sheet[row,column]`

For ranges: `sheet[start_row:end_row, start_column:end_column]`

.. code-block:: python

    sheet = app.active.active

    'Cell A10
    cell = sheet[9,0]

    'Range A1:C10
    rango = sheet[0:10,0:3]


Iteration cells
^^^^^^^^^^^^^^^

.. code-block:: python

    rango = sheet['B10:C15']
    for cell in rango:
        app.debug(cell)


Properties
^^^^^^^^^^

is_cell
~~~~~~~

.. code-block:: python

    cell = sheet['A1']
    app.debug(cell.is_cell)

    rango = sheet['A1:C5']
    app.debug(rango.is_cell)

name
~~~~

Return `AbsoluteName`

.. code-block:: python

    cell = sheet['A1']
    app.debug(cell.name)

    rango = sheet['A1:C5']
    app.debug(rango.name)

address
~~~~~~~

Return struct `com.sun.star.table.CellAddress`

.. code-block:: python

    cell = sheet['A1']
    if cell.is_cell:
        app.debug(cell.address)

range_address
~~~~~~~~~~~~~

Return struct `com.sun.star.table.CellRangeAddress`

.. code-block:: python

    rango = sheet['A1:C5']
    if not rango.is_cell:
        app.debug(rango.range_address)

sheet
~~~~~

Get parent sheet, return LOCalcSheet class

.. code-block:: python

    rango = sheet['A1:C5']
    sheet = rango.sheet
    app.debug(sheet)

doc
~~~

Get parent document, return LODocCalc class

.. code-block:: python

    rango = sheet['A1:C5']
    doc = rango.doc
    app.debug(doc)

cursor
~~~~~~

Get cursor by self range, return ScCellCursorObj instance.

.. code-block:: python

    rango = sheet['A1:C5']
    cursor = rango.cursor
    app.debug(cursor.ImplementationName)

style
~~~~~

Get or set cell style. Style must exists.

.. code-block:: python

    rango = sheet['A1:C5']
    app.debug(rango.style)
    rango.style = 'Good'


Methods
^^^^^^^
