en
Feedback
Volond Apps

Volond Apps

Open in Telegram

Программирование для души и от лени Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от

Show more
246
Subscribers
No data24 hours
No data7 days
No data30 days

Data loading in progress...

Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
February '24
February '24
+4
in 0 channels
January '24
+13
in 0 channels
Get PRO
December '23
+11
in 0 channels
Get PRO
November '23
+3
in 0 channels
Get PRO
October '23
+2
in 0 channels
Get PRO
September '23
+1
in 0 channels
Get PRO
August '23
+1
in 0 channels
Get PRO
July '23
+4
in 0 channels
Get PRO
June '23
+4
in 0 channels
Get PRO
May '23
+10
in 0 channels
Get PRO
April '230
in 0 channels
Get PRO
March '23
+7
in 0 channels
Get PRO
February '23
+7
in 0 channels
Get PRO
January '23
+9
in 0 channels
Get PRO
December '22
+4
in 0 channels
Get PRO
November '22
+3
in 0 channels
Get PRO
October '22
+8
in 0 channels
Get PRO
September '22
+5
in 0 channels
Get PRO
August '22
+4
in 0 channels
Get PRO
July '22
+5
in 0 channels
Get PRO
June '22
+7
in 0 channels
Get PRO
May '22
+6
in 0 channels
Get PRO
April '22
+2
in 0 channels
Get PRO
March '22
+3
in 0 channels
Get PRO
February '22
+4
in 0 channels
Get PRO
January '22
+3
in 0 channels
Get PRO
December '21
+33
in 0 channels
Get PRO
November '210
in 0 channels
Get PRO
October '210
in 0 channels
Get PRO
September '210
in 0 channels
Get PRO
August '210
in 0 channels
Get PRO
July '210
in 0 channels
Get PRO
June '210
in 0 channels
Get PRO
May '21
+176
in 0 channels
Date
Subscriber Growth
Mentions
Channels
16 February0
15 February0
14 February0
13 February0
12 February0
11 February+1
10 February+1
09 February0
08 February0
07 February0
06 February0
05 February0
04 February0
03 February0
02 February+2
01 February0
Channel Posts
2
LocalLogger позволяет: Записывать логи в выделенный лист таблицы с метками времени и уровнями важности Настрaивать пороговый
LocalLogger позволяет: Записывать логи в выделенный лист таблицы с метками времени и уровнями важности Настрaивать пороговый уровень для отправки email-уведомлений Автоматически форматировать логи разными цветами в зависимости от уровня важности Добавлять информацию о пользователе в логи
272
3
https://medium.com/free-code-camp/use-google-sheets-and-google-apps-script-to-build-a-blog-cms-c2eab3fb0b2b
234
4
Считаем переходящее время Формат ячейки длительность =if(and(C4<>"";D4<>""); if(C4
Считаем переходящее время Формат ячейки длительность =if(and(C4<>"";D4<>""); if(C4<D4;(today()+D4)-(today()+C4);(today()+D4+1)-(today()+C4));)
180
5
https://habr.com/ru/companies/lanit/articles/774410/
63
6
Google Sheets API не работает с датами JS. Вообще никто нормальный с датами JS работать не должен. Я, например, очень рад, что освоил этот странный объект 🤪 Очень похоже на Жемалистовое дерево 😉 Так вот, даты в Таблицах - числа, и это не все комбо, еще Таблицы позволяют USER_ENTERED — это когда даты сначала еще и строки. Для "легкого ввода" используйте текст. Но если сильно нужно конвертировать даты в числа Таблиц и обратно в Apps Script, то я пользуюсь этим Туда function toGoogleSheetsDateNumber(date, timezoneOffset) { const _date = new Date(date); timezoneOffset = timezoneOffset || _date.getTimezoneOffset(); const _start = new Date(Date.UTC(1899, 11, 30, 0, 0, 0, 0)); return ((_date.getTime() - _start.getTime()) / 60000 - timezoneOffset) / 1440; } Обратно function fromGoogleSheetsDateNumber(number, timezoneOffset) { const intPart = Math.floor(number); const fracPart = number - intPart; timezoneOffset = timezoneOffset || new Date().getTimezoneOffset(); const time = Math.round(fracPart * 24 * 60 * 60 * 1000) + timezoneOffset * 60000; const date = new Date(Date.UTC(1899, 11, 30 + intPart) + time); return date; } Полезная ссылка https://stackoverflow.com/questions/57360205/how-to-convert-a-js-date-programmatically-into-a-google-sheet-serial-number-an
56
7
Плагин, который красиво отформатирует твой код и сделает его понятнее и последовательнее. Позволяет сортировать разные данные
Плагин, который красиво отформатирует твой код и сделает его понятнее и последовательнее. Позволяет сортировать разные данные: объекты, импорты, типы TypeScript, перечисления, свойства JSX, атрибуты Svelte и т.д. Всё это упрощает совместную работу и делает код визуально привлекательным и гармоничным. Найти репозиторий можно тут. @begincode
71
8
Validate Phone Numbers with Javascript & HTML Проверка номера телефона очень важна для вашего бизнеса. Это позволяет вам проверить информацию от клиентов и убедиться, что вы имеете дело с реальным клиентом. Кроме того, это поможет вам эффективно расширить охват. В этом посте вы найдете подробную информацию о проверке номера телефона с помощью JavaScript и HTML. »
73
9
https://habr.com/ru/articles/776256/
72
10
javaScript //запустим наш скрипт через 30 сек function doGet(e) { try { ScriptApp.newTrigger('takeScreenshotAndUpload1') .timeBased() .after(30000) .create(); } catch (error) { } } // Эту функцию нужно натравим на изменяемые данные // и впишем в нее url опубликованого как webhook скрипта function fetch(d=""){ return UrlFetchApp.fetch("https://script.google.com/macros/s/AKfycbz5WoZSUTVNqYEK0PCRjjppLNoqSv9b6JWeKLhsscPP_pbVX7iED6uTetxX9k8y3PGz/exec") } function takeScreenshotAndUpload1(e){ //Тут какая-то логика ScriptApp.getProjectTriggers().forEach(trigger => { if (trigger.getHandlerFunction() === 'takeScreenshotAndUpload1') { trigger.delete(); } }) }
76
11
https://carbon.now.sh/?bg=rgba%28171%2C+184%2C+195%2C+1%29&t=panda-syntax&wt=none&l=auto&width=680&ds=true&dsyoff=20px&dsblur=68px&wc=true&wa=true&pv=56px&ph=56px&ln=false&fl=1&fm=Hack&fs=14px&lh=133%25&si=false&es=2x&wm=false&code=%252F%252F%25D0%25B7%25D0%25B0%25D0%25BF%25D1%2583%25D1%2581%25D1%2582%25D0%25B8%25D0%25BC%2520%25D0%25BD%25D0%25B0%25D1%2588%2520%25D1%2581%25D0%25BA%25D1%2580%25D0%25B8%25D0%25BF%25D1%2582%2520%25D1%2587%25D0%25B5%25D1%2580%25D0%25B5%25D0%25B7%252030%2520%25D1%2581%25D0%25B5%25D0%25BA%250Afunction%2520doGet%28e%29%2520%257B%250A%2520%2520%2520try%2520%257B%250A%2520%2520ScriptApp.newTrigger%28%27takeScreenshotAndUpload1%27%29%250A%2520%2520%2520%2520%2520%2520.timeBased%28%29%250A%2520%2520%2520%2520%2520%2520.after%2830000%29%250A%2520%2520%2520%2520%2520%2520.create%28%29%253B%250A%2520%2520%250A%250A%2520%2520%2520%257D%2520catch%2520%28error%29%2520%257B%250A%2520%2520%2520%2520%2520%250A%2520%2520%2520%257D%250A%257D%250A%252F%252F%2520%25D0%25AD%25D1%2582%25D1%2583%2520%25D1%2584%25D1%2583%25D0%25BD%25D0%25BA%25D1%2586%25D0%25B8%25D1%258E%2520%25D0%25BD%25D1%2583%25D0%25B6%25D0%25BD%25D0%25BE%2520%25D0%25BD%25D0%25B0%25D1%2582%25D1%2580%25D0%25B0%25D0%25B2%25D0%25B8%25D0%25BC%2520%25D0%25BD%25D0%25B0%2520%25D0%25B8%25D0%25B7%25D0%25BC%25D0%25B5%25D0%25BD%25D1%258F%25D0%25B5%25D0%25BC%25D1%258B%25D0%25B5%2520%25D0%25B4%25D0%25B0%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5%250A%252F%252F%2520%25D0%25B8%2520%25D0%25B2%25D0%25BF%25D0%25B8%25D1%2588%25D0%25B5%25D0%25BC%2520%25D0%25B2%2520%25D0%25BD%25D0%25B5%25D0%25B5%2520url%2520%25D0%25BE%25D0%25BF%25D1%2583%25D0%25B1%25D0%25BB%25D0%25B8%25D0%25BA%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25BE%25D0%25B3%25D0%25BE%2520%25D0%25BA%25D0%25B0%25D0%25BA%2520webhook%2520%25D1%2581%25D0%25BA%25D1%2580%25D0%25B8%25D0%25BF%25D1%2582%25D0%25B0%250Afunction%2520fetch%28d%253D%2522%2522%29%257B%250Areturn%2520UrlFetchApp.fetch%28%2522https%253A%252F%252Fscript.google.com%252Fmacros%252Fs%252FAKfycbz5WoZS*******8y3PGz%252Fexec%2522%29%250A%257D%250A%250Afunction%2520takeScreenshotAndUpload1%28e%29%257B%250A%2520%2520%252F%252F%25D0%25A2%25D1%2583%25D1%2582%2520%25D0%25BA%25D0%25B0%25D0%25BA%25D0%25B0%25D1%258F-%25D1%2582%25D0%25BE%2520%25D0%25BB%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25BA%25D0%25B0%250A%2520%2520ScriptApp.getProjectTriggers%28%29.forEach%28trigger%2520%253D%253E%2520%257B%250A%2520%2520%2520%2520if%2520%28trigger.getHandlerFunction%28%29%2520%253D%253D%253D%2520%27takeScreenshotAndUpload1%27%29%2520%257B%250A%2520%2520%2520%2520%2520%2520trigger.delete%28%29%253B%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%29%250A%257D
1
12
https://habr.com/ru/articles/541258/
79
13
=byrow(A2:A100;lambda(ss;JOIn("|";ifna(filter($N$2:$N$7;BYROW($M$2:$M$7;lambda(s;REGEXMATCH(ss;".*"&s&".*"))));""))))
=byrow(A2:A100;lambda(ss;JOIn("|";ifna(filter($N$2:$N$7;BYROW($M$2:$M$7;lambda(s;REGEXMATCH(ss;".*"&s&".*"))));""))))
81
14
https://github.com/mattpalermo/VBA-Import-Export
83
15
https://docs.google.com/spreadsheets/d/1Ifp5Ve8zk47nkX-M41firWvFDvfLOhiXMuANDhp0mNo/edit?usp=sharing
83
16
https://www.jsdelivr.com/package/npm/hyperformula
61
17
ToDo – Formula Parsing – OpenSolver for Excel https://opensolver.org/to-do/todo-formula-parsing/
65
18
HyperFormula guide | HyperFormula (v2.6.0) https://hyperformula.handsontable.com/#what-is-hyperformula
65
19
https://gearside.com/easily-link-to-locations-and-directions-using-the-new-google-maps/
65
20
javaScript /** * Функция `renameME` предназначена для переименования файла Google Sheets документа, * добавляя текущую дату и время в новое имя файла. * * @param {GoogleAppsScript.Spreadsheet.Spreadsheet|string} [ss=''] - Необязательный параметр. * Ссылка на объект Google Sheets документа (или его идентификатор) для переименования. * Если параметр не указан, будет использован активный документ. */ function renameME(ss='') { ss=ss||SpreadsheetApp.getActive(); var nameDate=ss.getName(); var [name,date,time]=nameDate.split("|"); var d=new Date() const time24Hr = convertTo24HourFormat(); var newName=name+"|"+[d2s(d,"dd-MM-yy"),time24Hr].join("|"); ss.setName(newName); }
68