Получение текущей таблицы в числах (Python/Appscript)
Как получить доступ к текущей таблице в Numbers, используя py-appscript
?
Для потомков программа, которую я создал, используя эту информацию, очищает все ячейки текущей таблицы и возвращает выбор в ячейку. A1
, Я превратил его в Сервис, используя Python Run Shell Script в Automator, и прикрепил его к 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 ответ
Решение
>>> d = app('Numbers').documents.first() # reference to current top document
РЕДАКТИРОВАТЬ: Кажется, нет прямой ссылки на текущую таблицу, но похоже, что вы можете найти ее, выполнив поиск по листам текущего первого документа для таблицы с ненулевым selection_range, так что-то вроде этого:
>>> nu = app('Numbers')
>>> for sheet in nu.documents.first.sheets():
... for table in sheet.tables():
... if table.selection_range():
... print table.name()