Всем привет! Подскажите в мобильном приложении (android) Google sheets как активировать записанные макросы. На компе я привязал макрос к картинке, но на мобиле при нажатии на картинку ничего не происходит.
Всем привет! Подскажите в мобильном приложении (android) Google sheets как активировать записанные макросы. На компе я привязал макрос к картинке, но на мобиле при нажатии на картинку ничего не происходит.Kashimirush
doober, Я вынес триггер на флажок, привязка к картинкам в мобильном приложении не работает. Функция Onedit с привязкой триггера к значению какой либо ячейки - работает и на компе и на смартфоне.
doober, Я вынес триггер на флажок, привязка к картинкам в мобильном приложении не работает. Функция Onedit с привязкой триггера к значению какой либо ячейки - работает и на компе и на смартфоне.Kashimirush
У меня в одной табличке работает, как я его назвал, "Delete-меню" (или "меню сдергивания"). Построено на событии onEdit. Суть в следующем. В колонке A, например, в диапазоне A1:A10 ячейки заполнены по одному символу. Они выполняют как бы роль чек-боксов (когда я это мастырил, чек-боксов в таблицах Google еще не было - пришлось извращаться, а теперь мне даже и больше так нравится, чем с чекбоксами). По соседству, в диапазоне B1:B10 - названия "пунктов меню", чтобы было понятно, какое действие будет выполнено после манипуляции с ячейкой из колонки A.
Ну, так вот, хотим произвести определенное действие - выбираем ячейку из колонки A и жмем ней клавишу Delete. Это на компьютере. На Андроиде клавиши Delete нет, поэтому приходится совершать несколько действий - входить в режим редактирования, затирать единственный символ бэкспейсом и завершать ввод (какой-нибудь "галочкой", аналогом клавиши Enter). Теперь, надеюсь, понятно, почему символ в ячейке только один
После этого работает событие onEdit, выполняя нужную нам ветку программы. Это - второе действие внутри функции onEdit. Но до этого, первым действием, внутри onEdit нужно программно восстановить стёртый символ в ячейке колонки A (т.е. как бы "перезарядить" ячейку на следующий раз). Причем, символ должен быть обязательно другим - чтобы было визуально понятно, что в ячейке что-то поменялось (как подтверждение приема команды на исполнение). Я использую только буквы в верхнем регистре, причем, не просто "ввожу" другую букву, а ввожу другую букву их другого АЛФАВИТА - была русская, становится латинская (и наоборот). При этом используются только буквы, несовпадающие по написанию. Т.е. чтобы сразу было видно - русская она или нет.
Если кто-то захочет применить мой подход у себя, я даже, пользуясь случаем, поделюсь своими массивами уникальных букв обоих алфавитов. А, впрочем, могу сразу и всей функцией (я уже один раз ею делился в сообществе G+, но G+ канул в лету, поэтому - вот, явление второе): [vba]
Код
function getOppositeAlphabetLetter(sourceLetter) { // для замены удаляемого в ячейке символа на случайный символ противоположного алфавита - // как визуализация принятой "команды" (удобно нажатием клавиши Delete); // в Андроиде для удаления понадобится несколько несложных щелчков, // но это лучше, чем париться с нажатием какой-нибудь буквы (думать, выбирать ее)
// русские заглавные буквы, не имеющие визуальных аналогов среди латинских (20 штук) var arrCyr = ['Б','Г','Д','Ж','З','И','Й','Л','П','Ф','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я']; // латинские заглавные буквы, не имеющие визуальных аналогов среди русских (14 штук) var arrLat = ['D','F','G','I','J','L','N','Q','R','S','U','V','W','Z'];
// определяем противоположный язык - по коду исходного символа var arr = (sourceLetter && sourceLetter.charCodeAt(0) < 1000) ? arrCyr : arrLat; // случайный номер от 0 до arr.length-1 включительно var rand = Math.floor(Math.random() * arr.length); return arr[rand]; }
[/vba] И внутри onEdit вызов примерно такой: [vba]
У меня в одной табличке работает, как я его назвал, "Delete-меню" (или "меню сдергивания"). Построено на событии onEdit. Суть в следующем. В колонке A, например, в диапазоне A1:A10 ячейки заполнены по одному символу. Они выполняют как бы роль чек-боксов (когда я это мастырил, чек-боксов в таблицах Google еще не было - пришлось извращаться, а теперь мне даже и больше так нравится, чем с чекбоксами). По соседству, в диапазоне B1:B10 - названия "пунктов меню", чтобы было понятно, какое действие будет выполнено после манипуляции с ячейкой из колонки A.
Ну, так вот, хотим произвести определенное действие - выбираем ячейку из колонки A и жмем ней клавишу Delete. Это на компьютере. На Андроиде клавиши Delete нет, поэтому приходится совершать несколько действий - входить в режим редактирования, затирать единственный символ бэкспейсом и завершать ввод (какой-нибудь "галочкой", аналогом клавиши Enter). Теперь, надеюсь, понятно, почему символ в ячейке только один
После этого работает событие onEdit, выполняя нужную нам ветку программы. Это - второе действие внутри функции onEdit. Но до этого, первым действием, внутри onEdit нужно программно восстановить стёртый символ в ячейке колонки A (т.е. как бы "перезарядить" ячейку на следующий раз). Причем, символ должен быть обязательно другим - чтобы было визуально понятно, что в ячейке что-то поменялось (как подтверждение приема команды на исполнение). Я использую только буквы в верхнем регистре, причем, не просто "ввожу" другую букву, а ввожу другую букву их другого АЛФАВИТА - была русская, становится латинская (и наоборот). При этом используются только буквы, несовпадающие по написанию. Т.е. чтобы сразу было видно - русская она или нет.
Если кто-то захочет применить мой подход у себя, я даже, пользуясь случаем, поделюсь своими массивами уникальных букв обоих алфавитов. А, впрочем, могу сразу и всей функцией (я уже один раз ею делился в сообществе G+, но G+ канул в лету, поэтому - вот, явление второе): [vba]
Код
function getOppositeAlphabetLetter(sourceLetter) { // для замены удаляемого в ячейке символа на случайный символ противоположного алфавита - // как визуализация принятой "команды" (удобно нажатием клавиши Delete); // в Андроиде для удаления понадобится несколько несложных щелчков, // но это лучше, чем париться с нажатием какой-нибудь буквы (думать, выбирать ее)
// русские заглавные буквы, не имеющие визуальных аналогов среди латинских (20 штук) var arrCyr = ['Б','Г','Д','Ж','З','И','Й','Л','П','Ф','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я']; // латинские заглавные буквы, не имеющие визуальных аналогов среди русских (14 штук) var arrLat = ['D','F','G','I','J','L','N','Q','R','S','U','V','W','Z'];
// определяем противоположный язык - по коду исходного символа var arr = (sourceLetter && sourceLetter.charCodeAt(0) < 1000) ? arrCyr : arrLat; // случайный номер от 0 до arr.length-1 включительно var rand = Math.floor(Math.random() * arr.length); return arr[rand]; }
[/vba] И внутри onEdit вызов примерно такой: [vba]