Görünüşe göre şu anda E-Tablolar Android uygulamasında ne görüntüler ne de özel menü öğeleri çalışmıyor. Elektronik tabloda bir "işlev menüsü" oluşturmanızı öneririm. Örneğin:
- A1 hücresi "Bir işlev seçin" diyor
- B1 hücresinin, içeriği sahip olduğunuz işlevlerin adlarıyla kısıtlayan bir veri doğrulama kuralı vardır. Örneğimde, bunlar "insertSomething" ve "convertSomething" dir. (Veri doğrulama iletişim kutusundaki "yardımı göster" i işaretlemeyin, "yardım" pop-up'ı mobil cihazlarda bir sıkıntıdır.)
onEdit
Her düzenlemede çalışan bir komut dosyası işlevi (basit tetikleyici), B1 içeriğinin değişip değişmediğini kontrol eder. Öyleyse, uygun işlevi çalıştırır.
İşte benim kod, gösteri amacıyla dahil iki işlevi ile:
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');
}
Koşul /^\w+$/.test(e.value)
, sadece boş olmayan bir dizemiz olduğunu ve birinin bir şekilde B1 hücresine koyduğu kötü amaçlı kodu yürütmediğini kontrol etmektir. İşlev ile çağrıldıktan sonra this[e.value]();
( this
genel nesneyi ifade eder ve işlev adlarını içerir) B1 içeriği temizlenir. Biri aynı işlevi tekrar çalıştırmayı seçebilir veya başka bir işlevi kullanabilir.
Kavramın bir kanıtı olarak, uygulamadan ekran görüntüleri. Ekran görüntüsü 1: bir işlev seçimi
Ekran Görüntüsü 2: İşlev çalıştıktan sonra
Referanslar