获取当前数字表(Python / Appscript)

时间:2009-11-07 19:01:53

标签: python iwork appscript

如何使用py-appscript访问Numbers中的当前表格?


对于后代,我使用此信息创建的程序清除当前表的所有单元格,并将选择返回到单元格A1。我在Automator中使用python Run Shell脚本将其转换为Service,并将其附加到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_table.selection_range.set(to=current_table.ranges[u'A1'])

它用于清除我用于临时计算的大型数字表。

1 个答案:

答案 0 :(得分:2)

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

编辑:似乎没有对当前表的直接单引用,但看起来你可以通过在当前第一个文档的表中搜索具有非null selection_range的表来找到它,所以类似于这样:

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