Atualmente, nem imagens nem itens de menu personalizados funcionam no aplicativo Planilhas Android. Sugiro a criação de um "menu de funções" dentro da planilha. Por exemplo:
- A célula A1 diz "Selecione uma função"
- A célula B1 possui uma regra de validação de dados que restringe o conteúdo aos nomes das funções que você possui. No meu exemplo, eles são "insertSomething" e "convertSomething". (Não marque "show help" na caixa de diálogo de validação de dados, o pop-up "help" é um aborrecimento no celular.)
- Uma função de script
onEdit
(acionador simples), executada em todas as edições, verifica se o conteúdo de B1 foi alterado. Nesse caso, ele executa a função apropriada.
Aqui está o meu código, com duas funções incluídas para fins de demonstração:
function onEdit(e) {
if (e.range.getA1Notation() == 'B1') {
if (/^\w+$/.test(e.value)) {
this[e.value]();
e.range.clear();
}
}
}
function insertSomething() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,3).setValue('inserted something');
}
function convertSomething() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(3,3).setValue('converted something');
}
A condição /^\w+$/.test(e.value)
é apenas verificar se temos uma sequência não vazia e não estamos executando código malicioso que alguém de alguma forma inseriu na célula B1. Depois que a função é chamada this[e.value]();
( this
refere-se ao objeto global e contém nomes de funções), o conteúdo de B1 é limpo. Pode-se optar por executar a mesma função novamente ou outra.
Como prova de conceito, aqui estão as capturas de tela do aplicativo. Captura de tela 1: seleção de uma função
Captura de tela 2: após a execução da função
Referências