310 lines
21 KiB
HTML
310 lines
21 KiB
HTML
|
|
<!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="Manipulate ranges" href="calc_ranges2.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_ranges2.html" title="next chapter">Manipulate ranges</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> |