Volond Apps
221 subscribers
216 photos
28 videos
22 files
994 links
Программирование для души и от лени
Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Download Telegram
Как создать и запустить простой автономный скрипт,
который создает документ Google и
отправляет Вам ссылку по электронной почте.
скрипт
Forwarded from Android: activated
Чтобы помочь продавцам (а заодно и всем тем, кому нужно не забывать следить за отправкой электронной почты!), в автоответчик Gmail была добавлена небольшая, но мощная фишка — Auto Follow Up. Эта функция позволяет устанавливать последовательность писем (так называемых follow-up писем), которые через заданные промежутки времени будут отправляться автоматически вслед за первым электронным письмом, отправленным из Gmail. И всё это одним щелчком мыши.

Auto Follow Up for Gmail — это бесплатное расширение для браузера Chrome. Устанавливается оно в один клик.

Читать пост | Скачать
Forwarded from volond
This media is not supported in your browser
VIEW IN TELEGRAM
Что бы заполнять по шаблону делали все
А что бы приготовить шаблон из готового документа

У нас есть плоская таблица
Допустим вытянули с 1С
Нужно нагенерить куду документов
И есть шаблон как это сделать
Подготавливаем шаблон и генерим
Сделал так потому что у меня шаблон на 26 страниц и на 50 параметров
И сам шаблон не часто но периодически меняется
Обновление пользовательских функций
/*@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)


Таблица с примером
Источник
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
Volond Apps pinned «https://telegra.ph/CHitat-Kak-Otche-Nash-12-08»
Create webhooks from Google sheets

Webhooks мы уже получали (Телеграм бот Да⁉️),
а как насчет что бы отправлять например при изменении в определенной строке
Причем мы не будем использовать триггеры
...😃

🛠 Пользовательские функции запускаются всякий раз, когда изменяются входные данные, это механизм, который я использую для получения нашего веб-перехватчика.‼️

‼️Кстати в таком случае скрипт видит изменения сделанные другим скриптом
‼️

Ссылка на таблицу

#webapp #sheet #gas
RegExp:Замена переноса строк на пробел

var reg='
[\t\n\v\f\r\u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]'

#gas #regexp
Как создать визуальный индикатор состояния в электронной таблице Google Таблиц

При переходе в «режим проекта» всегда приятно иметь визуальное представление текущего статуса. Независимо от того, является ли этот статус отдельной задачей или всем проектом, он помогает быстро понять, как далеко мы продвинулись и сколько еще осталось пройти.
#sheet
Балуемся с датами

Вариант
1 ‼️
var [d,m,y]='13/12/2020'.split("/")
console.log(new Date(y,m-1,d))
Вариант 2
var a='13/12/2020'.split("/")
a[1]-=1
console.log(new Date(a.reverse()))
Вариант 3
var 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'; 
const normalDate = new Date(dateStr.split('/').reverse();
console.log(normalDate.toLocaleDateString('ru')); 13.12.2020 console.log(normalDate.toLocaleDateString('eu')); 2020/12/13
#gas
Мгновенное голосование во втором туре

В
этом проекте IRV - это метод выбора одного победителя. Избиратели ранжируют кандидатов в форме Google, и администратор запускает скрипт со скриптом Google Apps, чтобы определить победителя.


instant-runoff
#googlesheet #googleform
Этот репозиторий содержит примеры многих популярных алгоритмов и структур данных на основе JavaScript.

Каждый алгоритм и структура данных имеют свой собственный README с соответствующими пояснениями и ссылками для дальнейшего чтения (включая ссылки на видео на YouTube).
Ресурсы 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