2009-11-07 20 views
2

Comment accéder à la table en cours dans Numbers en utilisant py-appscript?Obtention du tableau actuel en chiffres (Python/Appscript)


Pour la postérité, le programme que je crée en utilisant ces informations efface toutes les cellules de la table en cours et retourne la sélection à la cellule A1. Je l'ai transformé en un service en utilisant un script shell Shell Python dans Automator et l'a attaché à Numbers. Il a été utilisé pour effacer de grandes tables de nombres que j'ai utilisées pour des calculs temporaires.

Répondre

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

EDIT: Il ne semble pas être une référence unique simple pour la table en cours, mais il semble que vous pouvez le trouver en recherchant les feuilles du premier document actuel pour une table avec un selection_range non nul , donc quelque chose comme ça:

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

Cela ne fonctionne pas réellement pour moi. Il renvoie la première table de la feuille, pas la table actuellement sélectionnée. –

+0

Ironiquement, je * viens * juste à cette conclusion moi-même et j'étais sur le point de le poster :) La syntaxe dans votre solution est plus propre, cependant. –

+0

Heh. Les merveilles des applications scriptables Apple Event: cherchez et vous trouverez. Et il y a rarement la seule façon évidente de le faire. –