如何访问 Numbers 中的当前表格?

发布于 2024-08-10 14:07:35 字数 634 浏览 12 评论 0原文

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


对于后代,我使用此信息创建的程序会清除当前表格的所有单元格并将选择返回到单元格 A1。我使用 Automator 中的 python Run Shell 脚本将其转换为服务,并将其附加到 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'])

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

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_table.selection_range.set(to=current_table.ranges[u'A1'])

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疏忽 2024-08-17 14:07:35
>>> d = app('Numbers').documents.first()  # reference to current top document

编辑:似乎没有对当前表的直接单一引用,但看起来您可以通过在当前第一个文档的工作表中搜索具有非空选择范围的表来找到它,所以像这样:

>>> nu = app('Numbers')
>>> for sheet in nu.documents.first.sheets():
...   for table in sheet.tables():
...     if table.selection_range():
...        print table.name()
>>> 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()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文