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
Ресурсы Google Workspace Developer GDE 🛠
Супергерои известны тем, что носят плащи, сражаются со злодеями и стремятся спасти мир от зла. Также есть супергерои, которые спокойно предпочитают использовать свои сверхспособности, чтобы объяснять технологии новым пользователям, поддерживать форумы сообщества, писать сообщения в блогах, выступать на мероприятиях, размещать сериалы видео, создавать демонстрации, делиться образцами кода и т. И все во имя того, чтобы помочь другим разработчикам стать более успешными за счет приобретения новых навыков, создания более качественных приложений и, в конечном итоге, повышения их карьеры. В Google мы называем последнюю категорию супергероев экспертами-разработчиками Google или для краткости «GDE».
Программа Google Developer Experts - это глобальная сеть высококвалифицированных технологических экспертов, идейных лидеров и влиятельных лиц, которые активно поддерживают сообщества разработчиков по всему миру, делясь своими знаниями и энтузиазмом по широкому кругу тематических областей от Android до Angular до Google Assistant и Google Cloud. - и, конечно же, Google Workspace. Помня о том, что все GDE - добровольцы, которые не только свободно уделяют время поддержке других, но также помогают улучшать наши продукты, предлагая свои проницательные отзывы, тщательно тестируя новые функции, часто перед их выпуском, при этом помогая расширять как варианты использования, так и аудиторию. способ.
Если вы заинтересованы в общении и получении дополнительной информации о том, о чем говорят или работают GDE, следите за ними через их социальные каналы. Большинство GDE довольно активно делятся всем: от ежедневных советов, мероприятий до проектов с полностью открытым исходным кодом. Воспользуйтесь приведенными выше ссылками в профилях GDE или ознакомьтесь с полным каталогом GDE, чтобы познакомиться с экспертами по всем технологиям разработчиков Google.
Сообщество Google Workspace GDE также содержит несколько действительно полезных ресурсов, которые стоит посетить:
Форумы сообщества
Группы Google - groups.google.com/g/google-apps-script-community
Stack Overflow - stackoverflow.com/questions/tagged/google-apps-script
Slack- google-apps-script.slack.com
Списки
Twitter - twitter.com/i/lists/1235144368593367043
Medium Google GDE Blogs - medium.com/google-developer-experts
https://developers.google.com/community/experts/directory
Apps Script Pulse (Новости) - pulse.appsscript.info
Digital Inspiration (дополнения и инструкции) - digitalinspiration.com
Основы Google Таблиц ( инструкции по автоматизации) - benlcollins.com
Desktop Liberation (руководства по скриптам приложений) - ramblings.mcpher.com
Teacher Tech (ресурсы для EDU) - alicekeeler.com
Totally Unscripted (выставка сообщества) - sites.google.com/corp/view/totallyunscripted/home
GDE Видео
Totally Unscripted - www.youtube.com/c/TotallyUnscriptedShow
Супергерои известны тем, что носят плащи, сражаются со злодеями и стремятся спасти мир от зла. Также есть супергерои, которые спокойно предпочитают использовать свои сверхспособности, чтобы объяснять технологии новым пользователям, поддерживать форумы сообщества, писать сообщения в блогах, выступать на мероприятиях, размещать сериалы видео, создавать демонстрации, делиться образцами кода и т. И все во имя того, чтобы помочь другим разработчикам стать более успешными за счет приобретения новых навыков, создания более качественных приложений и, в конечном итоге, повышения их карьеры. В Google мы называем последнюю категорию супергероев экспертами-разработчиками Google или для краткости «GDE».
Программа Google Developer Experts - это глобальная сеть высококвалифицированных технологических экспертов, идейных лидеров и влиятельных лиц, которые активно поддерживают сообщества разработчиков по всему миру, делясь своими знаниями и энтузиазмом по широкому кругу тематических областей от Android до Angular до Google Assistant и Google Cloud. - и, конечно же, Google Workspace. Помня о том, что все GDE - добровольцы, которые не только свободно уделяют время поддержке других, но также помогают улучшать наши продукты, предлагая свои проницательные отзывы, тщательно тестируя новые функции, часто перед их выпуском, при этом помогая расширять как варианты использования, так и аудиторию. способ.
Если вы заинтересованы в общении и получении дополнительной информации о том, о чем говорят или работают GDE, следите за ними через их социальные каналы. Большинство GDE довольно активно делятся всем: от ежедневных советов, мероприятий до проектов с полностью открытым исходным кодом. Воспользуйтесь приведенными выше ссылками в профилях GDE или ознакомьтесь с полным каталогом GDE, чтобы познакомиться с экспертами по всем технологиям разработчиков Google.
Сообщество Google Workspace GDE также содержит несколько действительно полезных ресурсов, которые стоит посетить:
Форумы сообщества
Группы Google - groups.google.com/g/google-apps-script-community
Stack Overflow - stackoverflow.com/questions/tagged/google-apps-script
Slack- google-apps-script.slack.com
Списки
Twitter - twitter.com/i/lists/1235144368593367043
Medium Google GDE Blogs - medium.com/google-developer-experts
https://developers.google.com/community/experts/directory
Apps Script Pulse (Новости) - pulse.appsscript.info
Digital Inspiration (дополнения и инструкции) - digitalinspiration.com
Основы Google Таблиц ( инструкции по автоматизации) - benlcollins.com
Desktop Liberation (руководства по скриптам приложений) - ramblings.mcpher.com
Teacher Tech (ресурсы для EDU) - alicekeeler.com
Totally Unscripted (выставка сообщества) - sites.google.com/corp/view/totallyunscripted/home
GDE Видео
Totally Unscripted - www.youtube.com/c/TotallyUnscriptedShow
Google for Developers
Experts | Google for Developers
A global program to recognize individuals who are experts and thought leaders in one or more Google technologies. These professionals actively contribute and support the developer and startup ecosystems around the world, helping them build and launch highly…
Синхронизатор значений в ячейках расположенных на указанных листах но по одному адресу! 🔛
#JS #onEdit
function onEdit(e){
var A1Not='A2'
var sheets=['RSS','RSSs']
var ss=SpreadsheetApp.getActiveSpreadsheet()
var eNameSheet=e.range.getSheet().getName()
if (e.range.getA1Notation()==A1Not&&sheets.indexOf(eNameSheet)!=-1){
var value=e.value
console.log(e.value)
sheets.map(sh=>ss.getSheetByName(sh).getRange(A1Not).setValue(value))
}
}
P.S. Вписать свой адрес и Имена листов#JS #onEdit