开发者

How to access the current table in Numbers?

开发者 https://www.devze.com 2022-12-11 07:10 出处:网络
How do I access the current table in Numbers using py-appscript? For posterity, the program I created using this information clears all the cells of the current table and returns the selection to cel

How do I access the current table in Numbers using py-appscript?


For posterity, the program I created using this information clears all the cells of the current table and returns the selection to cell A1. I turned it into a Service using a python Run Shell Script in Automator and attached it to Numbers.

 from appscript import *

 Numbers = app('Numbers')
 current_table = None
 for sheet in Numbers.documents.first.sheets():
      for table in sheet.tables():
           if table.selection_range():
                current_table = table

 if current_table:
      for cell in current_table.cells():
           cell.value.set('')

      current_tab开发者_开发百科le.selection_range.set(to=current_table.ranges[u'A1'])

It was used to clear large tables of numbers that I used for temporary calculations.


>>> d = app('Numbers').documents.first()  # reference to current top document

EDIT: There doesn't seem to be a straight-forward single reference to the current table but it looks like you can find it by searching the current first document's sheets for a table with a non-null selection_range, so something like this:

>>> nu = app('Numbers')
>>> for sheet in nu.documents.first.sheets():
...   for table in sheet.tables():
...     if table.selection_range():
...        print table.name()
0

精彩评论

暂无评论...
验证码 换一张
取 消