Написал что бы люди могли выделить формулы на листе
Аналог
https://pastebin.com/RmrRYKWW
таблица с скриптом
Аналог
https://pastebin.com/RmrRYKWW
таблица с скриптом
Forwarded from volond
Как создать документ с горизонтальной ориентацией страницы с помощью google doc api
Example on how to export a Google sheet to various formats, includes most PDF options
Создание PDF в альбомной ориентации (скрипт Google Apps)
Example on how to export a Google sheet to various formats, includes most PDF options
Создание PDF в альбомной ориентации (скрипт Google Apps)
Google
Create an inventory management app from Google Sheets with AppSheet
See how you can use AppSheet from within a Google Sheet to create an application for inventory management, even without coding skills.
Как создать и запустить простой автономный скрипт,
который создает документ Google и
отправляет Вам ссылку по электронной почте.
скрипт
который создает документ Google и
отправляет Вам ссылку по электронной почте.
скрипт
Forwarded from Android: activated
Чтобы помочь продавцам (а заодно и всем тем, кому нужно не забывать следить за отправкой электронной почты!), в автоответчик Gmail была добавлена небольшая, но мощная фишка — Auto Follow Up. Эта функция позволяет устанавливать последовательность писем (так называемых follow-up писем), которые через заданные промежутки времени будут отправляться автоматически вслед за первым электронным письмом, отправленным из Gmail. И всё это одним щелчком мыши.
Auto Follow Up for Gmail — это бесплатное расширение для браузера Chrome. Устанавливается оно в один клик.
Читать пост | Скачать
Auto Follow Up for Gmail — это бесплатное расширение для браузера Chrome. Устанавливается оно в один клик.
Читать пост | Скачать
All-In-One Person
Как создать последовательность follow-up писем в Gmail
Чтобы помочь продавцам, в автоответчик Gmail была добавлена небольшая, но мощная фишка — Auto Follow Up.
Forwarded from volond
This media is not supported in your browser
VIEW IN TELEGRAM
Что бы заполнять по шаблону делали все
А что бы приготовить шаблон из готового документа
У нас есть плоская таблица
Допустим вытянули с 1С
Нужно нагенерить куду документов
И есть шаблон как это сделать
Подготавливаем шаблон и генерим
Сделал так потому что у меня шаблон на 26 страниц и на 50 параметров
И сам шаблон не часто но периодически меняется
А что бы приготовить шаблон из готового документа
У нас есть плоская таблица
Допустим вытянули с 1С
Нужно нагенерить куду документов
И есть шаблон как это сделать
Подготавливаем шаблон и генерим
Сделал так потому что у меня шаблон на 26 страниц и на 50 параметров
И сам шаблон не часто но периодически меняется
Обновление пользовательских функций
Для того, чтобы данные в таблице всегда были актуальными, хочется сделать эту формулу автообновляемой. Прямого способа сделать это нет, но GAS комьюнити придумало вот такой хак:
Мы резервируем ячейку, в которую при каждом обновлении листа будет складываться случайное число
function onEdit(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sheet.getRange('Z1').setValue(Math.random())
}
Эту ячейку мы будем указывать в качестве аргумента у тех функций, которым необходим периодический пересчёт, например getPriceByTicker
=getPriceByTicker("YNDX", Z1)
Таблица с примером
Источник
/*@customfunction*/
function sheetNames(e) {
return SpreadsheetApp.getActive()
.getSheets()
.map(function(sheet) {
return sheet.getName();
});
}
/*Create a installable trigger to listen to grid changes on the sheet*/
function onChange(e) {
if (!/GRID/.test(e.changeType)) return; //Listen only to grid change
SpreadsheetApp.getActive()
.createTextFinder('=SHEETNAMES\\([^)]*\\)')
.matchFormulaText(true)
.matchCase(false)
.useRegularExpression(true)
.replaceAllWith(
'=SHEETNAMES(' + (Math.floor(Math.random() * 500) + 1) + ')'
);
}
ИлиДля того, чтобы данные в таблице всегда были актуальными, хочется сделать эту формулу автообновляемой. Прямого способа сделать это нет, но GAS комьюнити придумало вот такой хак:
Мы резервируем ячейку, в которую при каждом обновлении листа будет складываться случайное число
function onEdit(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sheet.getRange('Z1').setValue(Math.random())
}
Эту ячейку мы будем указывать в качестве аргумента у тех функций, которым необходим периодический пересчёт, например getPriceByTicker
=getPriceByTicker("YNDX", Z1)
Таблица с примером
Источник
Stack Overflow
Google Apps Event changeType undefined in Google Sheet
function onEdit(e) {
Browser.msgBox(e.changeType);
if (e.changeType == 'EDIT') {
...
}
}
The event fires successfully when a sheet cell is changed from empty to a number, but the msgBox ...
Browser.msgBox(e.changeType);
if (e.changeType == 'EDIT') {
...
}
}
The event fires successfully when a sheet cell is changed from empty to a number, but the msgBox ...
kikMedia.png
173.3 KB
//---------UTIL---IFTTT---
//if
var isDizinkan=diizinkan(kuncen, userid)
var isSome=(tgObj)=>tgObj.map(media=>msg[media])
//To
var delMsg=(chats,msgId)=> tg.deleteMessage(chats,msgId)
// -------- selain anon-admins/channel - delete media kecuali photo -------
var medias=['sticker','audio','voice','video_note','video','animation','document','poll']
return isSome(medias)&&!dizinkan?delMsg(chats,msg.message_id):null
// --- delete Contact - Dice - game ---
return isSome(['contact', 'dice','game'])?delMsg(chats,msg.message_id):null
//if
var isDizinkan=diizinkan(kuncen, userid)
var isSome=(tgObj)=>tgObj.map(media=>msg[media])
//To
var delMsg=(chats,msgId)=> tg.deleteMessage(chats,msgId)
// -------- selain anon-admins/channel - delete media kecuali photo -------
var medias=['sticker','audio','voice','video_note','video','animation','document','poll']
return isSome(medias)&&!dizinkan?delMsg(chats,msg.message_id):null
// --- delete Contact - Dice - game ---
return isSome(['contact', 'dice','game'])?delMsg(chats,msg.message_id):null
Create webhooks from Google sheets
Webhooks мы уже получали (Телеграм бот Да⁉️),
а как насчет что бы отправлять например при изменении в определенной строке
Причем мы не будем использовать триггеры ...😃
🛠 Пользовательские функции запускаются всякий раз, когда изменяются входные данные, это механизм, который я использую для получения нашего веб-перехватчика.‼️
‼️Кстати в таком случае скрипт видит изменения сделанные другим скриптом‼️
Ссылка на таблицу
#webapp #sheet #gas
Webhooks мы уже получали (Телеграм бот Да⁉️),
а как насчет что бы отправлять например при изменении в определенной строке
Причем мы не будем использовать триггеры ...😃
🛠 Пользовательские функции запускаются всякий раз, когда изменяются входные данные, это механизм, который я использую для получения нашего веб-перехватчика.‼️
‼️Кстати в таком случае скрипт видит изменения сделанные другим скриптом‼️
Ссылка на таблицу
#webapp #sheet #gas
Как создать визуальный индикатор состояния в электронной таблице Google Таблиц
При переходе в «режим проекта» всегда приятно иметь визуальное представление текущего статуса. Независимо от того, является ли этот статус отдельной задачей или всем проектом, он помогает быстро понять, как далеко мы продвинулись и сколько еще осталось пройти.
#sheet
При переходе в «режим проекта» всегда приятно иметь визуальное представление текущего статуса. Независимо от того, является ли этот статус отдельной задачей или всем проектом, он помогает быстро понять, как далеко мы продвинулись и сколько еще осталось пройти.
#sheet
Балуемся с датами
Вариант 1 ‼️
Вариант 1 ‼️
var [d,m,y]='13/12/2020'.split("/")
console.log(new Date(y,m-1,d))
Вариант 2var a='13/12/2020'.split("/")
a[1]-=1
console.log(new Date(a.reverse()))
Вариант 3var regDataTime = /(?<d>\d{1,2}/(?<mont>\d{1,2})/(?<y>\d{1,4});
let { y, mont, d} = '13/12/2020'.match(regDataTime).groups;
var nextData =new Date(y, mont - 1, d)
Вариант 4 ‼️const dateStr = '13/12/2020';#gas
const normalDate = new Date(dateStr.split('/').reverse();
console.log(normalDate.toLocaleDateString('ru')); 13.12.2020 console.log(normalDate.toLocaleDateString('eu')); 2020/12/13
Надстройка Google Sheet для синхронизации событий с Google Calendar. См. Подробные инструкции на веб-сайте . Надстройка находится в G Suite Marketplace .
#googlesheet #googlecalendar #addon
#googlesheet #googlecalendar #addon
GitHub
GitHub - davepar/gcalendarsync: Apps Script for syncing a Google Spreadsheet with Google Calendar
Apps Script for syncing a Google Spreadsheet with Google Calendar - GitHub - davepar/gcalendarsync: Apps Script for syncing a Google Spreadsheet with Google Calendar
Мгновенное голосование во втором туре
В этом проекте IRV - это метод выбора одного победителя. Избиратели ранжируют кандидатов в форме Google, и администратор запускает скрипт со скриптом Google Apps, чтобы определить победителя.
instant-runoff
#googlesheet #googleform
В этом проекте IRV - это метод выбора одного победителя. Избиратели ранжируют кандидатов в форме Google, и администратор запускает скрипт со скриптом Google Apps, чтобы определить победителя.
instant-runoff
#googlesheet #googleform
Этот репозиторий содержит примеры многих популярных алгоритмов и структур данных на основе JavaScript.
Каждый алгоритм и структура данных имеют свой собственный README с соответствующими пояснениями и ссылками для дальнейшего чтения (включая ссылки на видео на YouTube).
Каждый алгоритм и структура данных имеют свой собственный README с соответствующими пояснениями и ссылками для дальнейшего чтения (включая ссылки на видео на YouTube).
GitHub
GitHub - trekhleb/javascript-algorithms: 📝 Algorithms and data structures implemented in JavaScript with explanations and links…
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings - trekhleb/javascript-algorithms