Puis-je utiliser Javascript pour écrire une fonction personnalisée pour Numbers?

8

Cela me gêne toujours de ne pas pouvoir écrire une fonction personnalisée pour Numbers. Cela rendrait le tableur beaucoup plus utile pour moi. Dans les feuilles de calcul Google Apps, vous pouvez le faire en utilisant Javascript.

En d'autres termes, vous écrivez

function myCustomStuff(a, b) { ... }

et une cellule peut contenir:

=myCustomStuff(A1, B2)

Maintenant, à Yosemite, ils ont l’automatisation Javascript. Je me demande si c'est possible.

Rob N
la source

Réponses:

2

Non - l'injection d'une fonction semble être quelque chose qui ne soit pas facilement scriptable.

Une simple macro peut être faisable et vous pouvez commencer avec ces deux références:

Ce lien constitue la documentation destinée aux développeurs sur la connexion du script à l'application Numbers.

Ce site d'automatisation est depuis longtemps le meilleur endroit que j'ai connu pour apprendre et implémenter les outils AppleScript.

Si vous êtes nouveau, vous pouvez suivre le didacticiel de numérotation dans AppleScript pour vous assurer que la tâche est réalisable, puis la recoder dans la nouvelle langue. Ensuite, vous devez déterminer les points d'ancrage dans Numbers et voir si votre tâche spécifique est réalisable sans utiliser le pont Objective-C, qui permet une intégration de niveau inférieur aux applications sur OS X.

bmike
la source
J'ai consulté la bibliothèque de scripts Numbers et je ne vois aucun moyen d'enregistrer une fonction nommée à utiliser dans les équations. Vous pouvez exécuter un calcul sur un groupe de cellules et renseigner d'autres cellules. Cela m'aide, mais ce n'est pas tout à fait ce que je cherchais.
Rob N
@RobN Je vais inverser mon oui - je ne voyais aucun moyen d'intégrer une fonction et espérais que c'était possible, mais il semblerait que vous deviez faire quelque chose de très lourd, comme programmer une extension de système / balayer les méthodes dans Numbers pour injecter une fonction.
bmike
Cool. J'ai accepté votre réponse et j'ai déposé une demande de fonctionnalité auprès d'Apple. Peut-être un jour.
Rob N