Volond Apps
Open in Telegram
Программирование для души и от лени Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Show more246
Subscribers
No data24 hours
No data7 days
No data30 days
Data loading in progress...
Similar Channels
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 February | 0 | |||
| 15 February | 0 | |||
| 14 February | 0 | |||
| 13 February | 0 | |||
| 12 February | 0 | |||
| 11 February | +1 | |||
| 10 February | +1 | |||
| 09 February | 0 | |||
| 08 February | 0 | |||
| 07 February | 0 | |||
| 06 February | 0 | |||
| 05 February | 0 | |||
| 04 February | 0 | |||
| 03 February | 0 | |||
| 02 February | +2 | |||
| 01 February | 0 |
Channel Posts
| 2 | 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<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&".*"))));"")))) | 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 |
