Posso usar o Javascript para escrever uma função personalizada para o Numbers?


8

Sempre me incomodou não poder escrever uma função personalizada para o Numbers. Isso tornaria a planilha muito mais útil para mim. Nas planilhas do Google Apps, você pode fazer isso usando Javascript.

Em outras palavras, você escreve

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

e uma célula pode conter:

=myCustomStuff(A1, B2)

Agora, em Yosemite, eles têm automação Javascript. Eu me pergunto se é possível.

Respostas:


2

Não - injetar uma função parece ser algo que não é facilmente programável.

Uma macro simples pode ser executável e você pode começar com estas duas referências:

Este link é a documentação do desenvolvedor sobre como conectar o script ao aplicativo Numbers.

Este site de automação é, há muito tempo, o melhor lugar que conheço para aprender e implementar ferramentas AppleScript.

Se você é novo, pode seguir o tutorial sobre números no AppleScript para garantir uma tarefa viável e recodificá-la no novo idioma. Em seguida, você precisa determinar os ganchos no Numbers e verificar se sua tarefa específica é executável sem utilizar a ponte Objective-C, que permite a integração de nível inferior aos aplicativos no OS X.


Examinei a biblioteca de scripts do Numbers e não vejo nenhuma maneira de registrar uma função nomeada para uso em equações. Você pode executar um cálculo em várias células e preencher outras células. Isso me ajuda, mas não é exatamente o que eu estava procurando.
Rob N

@RobN Eu vou reverter meu sim - eu não vi nenhuma maneira de incorporar uma função e esperava que fosse possível, mas parece que você precisará fazer algo muito pesado como programar uma extensão de sistema / swizzling os métodos em Numbers para injetar uma função.
bmike

Legal. Aceitei sua resposta e registrei uma solicitação de recurso na Apple. Talvez algum dia.
Rob N
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.