В GOOGLE ТАБЛИЦАХ ДОБАВЛЕНА БЫСТРАЯ НАВИГАЦИЯ ПО ЯЧЕЙКАМ И ДИАПАЗОНАМ С НОВОЙ ФУНКЦИЕЙ «ПОЛЕ ИМЕНИ».
Теперь все меняется благодаря новому обновлению службы, которое добавляет «поле имени диапазона», которое позволит вам быстро переходить непосредственно к координатам и именованным диапазонам на листе! Раньше все, что вы могли сделать, чтобы перейти к выделенной активной ячейке или диапазону, - это перейти к ней вручную - говорите о неэффективности.
Новый параметр находится в верхнем левом углу листа чуть выше ячейки A1 и содержит раскрывающееся меню для быстрого доступа, управления и создания новых именованных диапазонов. Я не понимаю, почему Google так долго добавлял то, чего так отчаянно хотели опытные пользователи, но, тем не менее, это долгожданное дополнение.
Вы можете получить его прямо сейчас, и если вы его еще не видите, он будет представлен вам в течение следующих нескольких дней. Если у вас есть домен с запланированным выпуском, вы можете ожидать его в течение двух недель с 25 января 2021 года. Я рад сообщить, что это еще одна функция Workspace, которая также будет доступна для обычных учетных записей Google, не связанных с Workspace!
•
Теперь все меняется благодаря новому обновлению службы, которое добавляет «поле имени диапазона», которое позволит вам быстро переходить непосредственно к координатам и именованным диапазонам на листе! Раньше все, что вы могли сделать, чтобы перейти к выделенной активной ячейке или диапазону, - это перейти к ней вручную - говорите о неэффективности.
Новый параметр находится в верхнем левом углу листа чуть выше ячейки A1 и содержит раскрывающееся меню для быстрого доступа, управления и создания новых именованных диапазонов. Я не понимаю, почему Google так долго добавлял то, чего так отчаянно хотели опытные пользователи, но, тем не менее, это долгожданное дополнение.
Вы можете получить его прямо сейчас, и если вы его еще не видите, он будет представлен вам в течение следующих нескольких дней. Если у вас есть домен с запланированным выпуском, вы можете ожидать его в течение двух недель с 25 января 2021 года. Я рад сообщить, что это еще одна функция Workspace, которая также будет доступна для обычных учетных записей Google, не связанных с Workspace!
•
Тема:КАЛЕНДАРЬ GOOGLE ПОЛУЧАЕТ АВТОНОМНЫЙ РЕЖИМ ДЛЯ WORKSPACE, ЧТО ЕЩЕ РАЗ НАМЕКАЕТ НА ПОДДЕРЖКУ PWA
Источник:
••••••••••
#JS
Источник:
••••••••••
#JS
Chrome Unboxed
Google Calendar gains offline mode for Workspace, further hinting at PWA support
A major benefit of running the Google Calendar Play Store app on your Chromebook is that you have the ability to view events without an internet connection. It can make all the difference should your wireless drop off or if you’re traveling. With the rise…
Тема:Грядут новые возможности
Источник:
Большой, отсутствующей функцией PWA является возможность разработчиков вводить покупки в приложениях через Play Store так же, как это могут делать собственные приложения для Android. Разработчики приложений смогут использовать новый API цифровых товаров с Google Play с помощью тестов под флагом в Chrome OS 88 и с полным запуском в Chrome OS 89 (релиз запланирован на март). Эти дополнительные API-интерфейсы позволят такие вещи, как внутриигровые платежи и подписки одним щелчком мыши, обеспечивая при этом тот же опыт для конечных пользователей, с которым они знакомы из процесса выставления счетов Google Play. Это также включает в себя возможность для пользователя сохранять кредиты и информацию об оплате.
••••••••••
#JS
Источник:
Большой, отсутствующей функцией PWA является возможность разработчиков вводить покупки в приложениях через Play Store так же, как это могут делать собственные приложения для Android. Разработчики приложений смогут использовать новый API цифровых товаров с Google Play с помощью тестов под флагом в Chrome OS 88 и с полным запуском в Chrome OS 89 (релиз запланирован на март). Эти дополнительные API-интерфейсы позволят такие вещи, как внутриигровые платежи и подписки одним щелчком мыши, обеспечивая при этом тот же опыт для конечных пользователей, с которым они знакомы из процесса выставления счетов Google Play. Это также включает в себя возможность для пользователя сохранять кредиты и информацию об оплате.
••••••••••
#JS
Chrome Unboxed
PWAs on the Play Store for Chromebooks getting a big upgrade for in-app payments
PWAs being delivered in the Play Store for Chromebooks are few and far between at this point. This entire thing is a new effort that hasn’t fully been rolled out quite yet, but is on the way soon for more and more app developers. This effort sees Progressive…
Forwarded from Max Makhrov
Спасибо, Михаил!
Хочу вернуться к теме $$ в проверке данных по диапазону.
Что поменялось.
В правилах проверки данных появилась возможность делать относительные ссылки. Если скопировать выпадающий список со ссылкой на диапазон, то изменение диапазона будет происходить по тем же правилам, что и внутри формул.
Еще в проверке можно использовать открытый диапазон:
B2:2 — начни с B2 и закончи последней колонкой 2-ой строки.
Почему я считаю, что это 🔥.
- если у вас таблица в 1000+ строк, то менять ссылки в каждой проверке данных очень долго. Вам придется 1000+ раз зайти в условное форматирование и поменять ссылку. Я смотрел статью (https://www.xelplus.com/google-sheets-multiple-dependent-dropdown-lists/), в котором MVP предлагает нам сделать это вручную. Мне кажется, что вручную — не вариант, но это "удобно" было делать скриптом. Теперь скрипт вообще не нужен. Просто копируете диапазон с *относительной ссылкой* вниз.
Ниже еще примеры. Относительные ссылки для копирования списков:
Примеры для связанных списков.
№1
2-уровневые выпадающие списки. Базовый пример:
https://docs.google.com/spreadsheets/d/1Vuq9_jJHgLJ7fe6yF0EZEERlo0LTChXezhqHjLUwmaY/copy
Михаил придумал, как это сделать в одну формулу: https://pastebin.com/6tuDiYpV. Это очень круто, и я надеялся, что кто-то предложит такое решение =)
№2
3-уровневые выпадающие списки. Пример того, как добавлять любое количество уровней связанных списков:
https://docs.google.com/spreadsheets/d/1W9r_PhrL1FKBo_klDpAhreKP7kqfBi1W2PYpc6cSJwg/copy
№3
3-уровневые выпадающие списки + возможность прямо с главного листа добавлять новые элементы в список:
https://docs.google.com/spreadsheets/d/1J23nZ4bHZNkBNblK8ujCW1g9nkjpXBi9apvAgT5pR3c/copy
№4
2-уровневые списки для столбцов, «размножаются» направо:
https://docs.google.com/spreadsheets/d/1un-ZDDtk6OFw3qFs98SFIuKmp-7XXwBMvTMb77EpCbU/copy
***
Другие примеры использования относительных ссылок в проверке данных.
№5
«Уменьшающийся» список. Списки, которые не дают ввести одно значение 2 раза:
https://docs.google.com/spreadsheets/d/1YpvWaJazWogJGASMys4sAmo4Nc_Y4dhZa0rO_j1xl4s/copy
На канале делали похожий вариант (https://t.me/google_sheets/280)
№6
Подсказка следующего номера для колонки с числовыми айди:
https://docs.google.com/spreadsheets/d/1m4Y6cpUC7P7T1HI6uY1noZcxvCweEnzxu5fmt4vc7L0/copy
№7
Накопительный список, который позволяет дубликаты (так можно “яблоко, груша, яблоко”)
https://docs.google.com/spreadsheets/d/1FUwUsSg8R71M1bp3Y-ZhZTJ8FMJKv4KoexmMa96s_lc/copy
№8
Накопительный список, который запрещает дубликаты (так нельзя: “яблоко, груша, яблоко”)
https://docs.google.com/spreadsheets/d/15PgvOv5nC2dpEgGHymJ12OLLexROrTktb7Zs59pokUo/copy
—————-
Заметки:
1. Пожалуйста, пока не применяйте этот вариант в промышленных масштабах. Квоты Гугла пока еще серьёзные, и скорость работы формул не всегда такая, как нам хотелось бы (хочу как в Экселе =)
2. Но ведь круто, на правда ли? Сколько ещё примеров можно придумать? ;)
Хочу вернуться к теме $$ в проверке данных по диапазону.
Что поменялось.
В правилах проверки данных появилась возможность делать относительные ссылки. Если скопировать выпадающий список со ссылкой на диапазон, то изменение диапазона будет происходить по тем же правилам, что и внутри формул.
=$A$1 — ссылка при копировании не меняется. $ перед буквой закрепляет колонку, $ перед цифрой закрепляет строку.=$A1 — при копировании меняется только строка=A$1 — при копировании меняется только колонка=A1 — при копировании направо меняется колонка на B, C, D. При копировании вниз меняется строка на 2, 3, 4.Еще в проверке можно использовать открытый диапазон:
B2:2 — начни с B2 и закончи последней колонкой 2-ой строки.
Почему я считаю, что это 🔥.
- если у вас таблица в 1000+ строк, то менять ссылки в каждой проверке данных очень долго. Вам придется 1000+ раз зайти в условное форматирование и поменять ссылку. Я смотрел статью (https://www.xelplus.com/google-sheets-multiple-dependent-dropdown-lists/), в котором MVP предлагает нам сделать это вручную. Мне кажется, что вручную — не вариант, но это "удобно" было делать скриптом. Теперь скрипт вообще не нужен. Просто копируете диапазон с *относительной ссылкой* вниз.
Ниже еще примеры. Относительные ссылки для копирования списков:
Примеры для связанных списков.
№1
2-уровневые выпадающие списки. Базовый пример:
https://docs.google.com/spreadsheets/d/1Vuq9_jJHgLJ7fe6yF0EZEERlo0LTChXezhqHjLUwmaY/copy
Михаил придумал, как это сделать в одну формулу: https://pastebin.com/6tuDiYpV. Это очень круто, и я надеялся, что кто-то предложит такое решение =)
№2
3-уровневые выпадающие списки. Пример того, как добавлять любое количество уровней связанных списков:
https://docs.google.com/spreadsheets/d/1W9r_PhrL1FKBo_klDpAhreKP7kqfBi1W2PYpc6cSJwg/copy
№3
3-уровневые выпадающие списки + возможность прямо с главного листа добавлять новые элементы в список:
https://docs.google.com/spreadsheets/d/1J23nZ4bHZNkBNblK8ujCW1g9nkjpXBi9apvAgT5pR3c/copy
№4
2-уровневые списки для столбцов, «размножаются» направо:
https://docs.google.com/spreadsheets/d/1un-ZDDtk6OFw3qFs98SFIuKmp-7XXwBMvTMb77EpCbU/copy
***
Другие примеры использования относительных ссылок в проверке данных.
№5
«Уменьшающийся» список. Списки, которые не дают ввести одно значение 2 раза:
https://docs.google.com/spreadsheets/d/1YpvWaJazWogJGASMys4sAmo4Nc_Y4dhZa0rO_j1xl4s/copy
На канале делали похожий вариант (https://t.me/google_sheets/280)
№6
Подсказка следующего номера для колонки с числовыми айди:
https://docs.google.com/spreadsheets/d/1m4Y6cpUC7P7T1HI6uY1noZcxvCweEnzxu5fmt4vc7L0/copy
№7
Накопительный список, который позволяет дубликаты (так можно “яблоко, груша, яблоко”)
https://docs.google.com/spreadsheets/d/1FUwUsSg8R71M1bp3Y-ZhZTJ8FMJKv4KoexmMa96s_lc/copy
№8
Накопительный список, который запрещает дубликаты (так нельзя: “яблоко, груша, яблоко”)
https://docs.google.com/spreadsheets/d/15PgvOv5nC2dpEgGHymJ12OLLexROrTktb7Zs59pokUo/copy
—————-
Заметки:
1. Пожалуйста, пока не применяйте этот вариант в промышленных масштабах. Квоты Гугла пока еще серьёзные, и скорость работы формул не всегда такая, как нам хотелось бы (хочу как в Экселе =)
2. Но ведь круто, на правда ли? Сколько ещё примеров можно придумать? ;)
Xelplus - Leila Gharani
How to Create MULTIPLE Dependent Dropdown Lists in Google Sheets
There is a simple trick you can use to create multiple dependent dropdown lists on the same sheet in Google Sheets.
Проблема формата даты скрипта Google Apps (Utilities.formatDate)
Источник:
Я собираю ежедневные процентные ставки из банка на Google Sheets, и я использую следующий код, чтобы добавить новые строки для ставок, содержащихся в A5:F5, с колонкой a, содержащей даты.
Я попытался предварительно отформатировать весь столбец A с помощью "yyyy-MM-dd", используя выпадающее меню форматирования в Google Sheets, но если я запускаю код выше, моя новая строка все еще находится в"M/dd/yyyy"
Решение :
••••••••••
Обсудить:
Источник:
Я собираю ежедневные процентные ставки из банка на Google Sheets, и я использую следующий код, чтобы добавить новые строки для ставок, содержащихся в A5:F5, с колонкой a, содержащей даты.
function recordHistory() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Interest Rates");
var source = sheet.getRange("A5:F5");
var values = source.getValues();
values[0][0] = Utilities.formatDate(new Date(), "GMT+10:00", "yyyy-MM-dd");
sheet.appendRow(values[0]);
};
Моя проблема заключается в следующем - хотя я указал формат даты "yyyy-MM-dd", даты в столбце A в моих новых строках создаются в этом формате"M/dd/yyyy".Я попытался предварительно отформатировать весь столбец A с помощью "yyyy-MM-dd", используя выпадающее меню форматирования в Google Sheets, но если я запускаю код выше, моя новая строка все еще находится в"M/dd/yyyy"
Решение :
values[0][0] = Utilities.formatDate(new Date(),#JS #GAS #date
"GMT+10:00", "yyyy-MM-dd").setNumberFormat('yyyy-mm-dd');
••••••••••
Обсудить:
coderoad.ru
Проблема формата даты скрипта Google Apps (Utilities.formatDate)
- CodeRoad
- CodeRoad
Утилита Utilities.formatDate() форматирует строку javascript. Однако при записи в электронную таблицу новая строка данных интерпретируется Google Sheets для определения типов данных и...
Simple Trigger onSelectionChange(e) not work
Источник:
Обсудить:
#GAS #triggers #snippet
Источник:
function onSelectionChange(e) {
var sh=e.range.getSheet();
e.source.toast('Sheet: ' + sh.getName() + ' Range: ' + e.range.getA1Notation());
}
••••••••••Обсудить:
#GAS #triggers #snippet
Stack Overflow
Simple Trigger onSelectionChange(e) not work
code.gs
var runSelect = true
function onSelectionChange(e) {
var sheet = SpreadsheetApp.getActiveSheet()
var range = e.range;
var column = range.getColumn();
var lastRow = sheet.getLastRow...
var runSelect = true
function onSelectionChange(e) {
var sheet = SpreadsheetApp.getActiveSheet()
var range = e.range;
var column = range.getColumn();
var lastRow = sheet.getLastRow...
ReScript - язык после TypeScript? - блог codecentric AG
https://blog.codecentric.de/en/2021/01/rescript-compare-typescript-elm/
https://blog.codecentric.de/en/2021/01/rescript-compare-typescript-elm/
codecentric AG
ReScript – the language after TypeScript?
ReScript is a new transpiler language for JavaScript. How does it compare to Elm and TypeScript? How to get started? Here's an overview.
Получите пользователя, который нажал кнопку в электронной таблице
Источник:
Задавать вопрос
Я добавил кнопку в электронную таблицу и назначил ей сценарий. Есть ли способ определить адрес электронной почты пользователя, который нажал на него? Скрипт редактирует данные, поэтому, вероятно, onEditтриггер должен работать, однако функция, Session.getActiveUser().getEmail()установленная этим триггером, не распознает пользователя.
Это возможно с обычными учетными записями Gmail, с помощью этого обходного пути!
Я использую некоторые функции защиты, которые показывают пользователя и владельца документа, и я сохраняю его в свойствах для повышения производительности. Удачи!
Обсудить:
#GAS #hak
Источник:
Задавать вопрос
Я добавил кнопку в электронную таблицу и назначил ей сценарий. Есть ли способ определить адрес электронной почты пользователя, который нажал на него? Скрипт редактирует данные, поэтому, вероятно, onEditтриггер должен работать, однако функция, Session.getActiveUser().getEmail()установленная этим триггером, не распознает пользователя.
Это возможно с обычными учетными записями Gmail, с помощью этого обходного пути!
Я использую некоторые функции защиты, которые показывают пользователя и владельца документа, и я сохраняю его в свойствах для повышения производительности. Удачи!
function onEdit(e) {
SpreadsheetApp.getUi().alert("User Email is " + getUserEmail());
}
function getUserEmail() {
var userEmail = PropertiesService.getUserProperties().getProperty("userEmail");
if(!userEmail) {
var protection = SpreadsheetApp.getActive().getRange("A1").protect();
// tric: the owner and user can not be removed
protection.removeEditors(protection.getEditors());
var editors = protection.getEditors();
if(editors.length === 2) {
var owner = SpreadsheetApp.getActive().getOwner();
editors.splice(editors.indexOf(owner),1); // remove owner, take the user
}
userEmail = editors[0];
protection.remove();
// saving for better performance next run
PropertiesService.getUserProperties().setProperty("userEmail",userEmail);
}
return userEmail;
}
••••••••••Обсудить:
#GAS #hak
Stack Overflow
Get the user who clicked on the button in the spreadsheet
I have added the button into spreadsheet and assigned the script to it. Is there a way to determine the user's email of person that clicked it? Script edits the data so probably onEdit trigger should
Forwarded from Google Apps Script | Канал
Конечно, поиск на GitHub - это удивительно ненадежная вещь, но можно обойти данные по API и собрать манифесты, чтобы иметь представление о текущем соостоянии экосистемы Apps Script. Bruce Mcpherson публикует scrviz.web.app для поиска публичный репозиториев, которые содержат проекты скриптов. На скрине поиск приложений, которые работают с Sheets Advanced Service.
Учебник JavaScript для новичков от Трепачёва Дмитрия
Источник:
На данной странице размещается начало учебника JavaScript для новичков. Для его освоения вам необходимо иметь хотя бы минимальные знания HTML и CSS. Обратитесь к учебнику HTML и CSS для новичков для их получения (для изучения JavaScript вам нужно пройти хотя бы 3-4 урока минимум).
Язык JavaScript предназначен для выполнения в браузере наряду с HTML и CSS. Но, если эти языки предназначены для верстки структуры сайта, то JavaScript позволяет 'оживлять' web-страницы - делать их реагирующими на действия пользователя или демонстрировать некоторую динамичность (к примеру, смена картинок в блоке или красивые плавно выпадающие менюшки).
Итак, давайте без лишних слов приступим к изучению этого, бесспорно, полезного языка.
••••••••••
Обсудить:
•
Источник:
На данной странице размещается начало учебника JavaScript для новичков. Для его освоения вам необходимо иметь хотя бы минимальные знания HTML и CSS. Обратитесь к учебнику HTML и CSS для новичков для их получения (для изучения JavaScript вам нужно пройти хотя бы 3-4 урока минимум).
Язык JavaScript предназначен для выполнения в браузере наряду с HTML и CSS. Но, если эти языки предназначены для верстки структуры сайта, то JavaScript позволяет 'оживлять' web-страницы - делать их реагирующими на действия пользователя или демонстрировать некоторую динамичность (к примеру, смена картинок в блоке или красивые плавно выпадающие менюшки).
Итак, давайте без лишних слов приступим к изучению этого, бесспорно, полезного языка.
••••••••••
Обсудить:
•
code.mu
Основной учебник JavaScript для новичков | Трепачёв Дмитрий
Простой учебник JavaScript для новичков с задачником и примерами решения задач.
Как проверить, является ли строка JSON или нет?
Источник:
Предупреждение:
для методов, использующих JSON.parse- массивы и строки, заключенные в кавычки, также пройдут (т. Е. console.log(JSON.parse('[3]'), JSON.parse('"\uD800"')))
Чтобы избежать использования всех примитивов JSON, не являющихся объектами (логические, нулевые, массив, число, строка), я предлагаю использовать следующее:
!! o - не ложь (исключая null, который регистрируется как typeof( 'object')
(typeof o === 'object') - исключает логическое, числовое и строковое
! Array.isArray (o) - Исключить массивы (которые регистрируются как typeof( 'объект')
попробуйте ... JSON.stringify / JSON.parse - запрашивает движок JavaScript, чтобы определить, действителен ли JSON
Почему бы не использовать ответ hasJsonStructure ()?
Полагаться на
Почему перехват исключения - это не взлом?
Было поднято, что перехват исключения для определения достоверности чего-либо - неправильный путь. В целом это хороший совет, но не всегда. В этом случае перехват исключений, вероятно, является лучшим способом, поскольку он основан на реализации механизма JavaScript для проверки данных JSON.
Использование движка JS дает следующие преимущества:
1. Более тщательный и постоянно обновляемый по мере изменения спецификации JSON
2. Скорее всего, будет работать быстрее (так как это код более низкого уровня)
‼️ Когда мне представится возможность опереться на движок JavaScript, я бы посоветовал это сделать. Особенно в этом случае. Хотя это может показаться хакерским перехватом исключения, на самом деле вы просто обрабатываете два возможных состояния возврата из внешнего метода.
#JS #JSON #cromeextension
Источник:
Предупреждение:
для методов, использующих JSON.parse- массивы и строки, заключенные в кавычки, также пройдут (т. Е. console.log(JSON.parse('[3]'), JSON.parse('"\uD800"')))
Чтобы избежать использования всех примитивов JSON, не являющихся объектами (логические, нулевые, массив, число, строка), я предлагаю использовать следующее:
/* Validate a possible object ie. o = { "a": 2 } */
const isJSONObject = (o) =>
!!o && (typeof o === 'object') && !Array.isArray(o) &&
(() => { try { return Boolean(JSON.stringify(o)); } catch { return false } })()
/* Validate a possible JSON object represented as string ie. s = '{ "a": 3 }' */
function isJSONObjectString(s) {
try {
const o = JSON.parse(s);
return !!o && (typeof o === 'object') && !Array.isArray(o)
} catch {
return false
}
}
Код Пояснение!! o - не ложь (исключая null, который регистрируется как typeof( 'object')
(typeof o === 'object') - исключает логическое, числовое и строковое
! Array.isArray (o) - Исключить массивы (которые регистрируются как typeof( 'объект')
попробуйте ... JSON.stringify / JSON.parse - запрашивает движок JavaScript, чтобы определить, действителен ли JSON
Почему бы не использовать ответ hasJsonStructure ()?
Полагаться на
toString()- не лучшая идея. Это связано с тем, что разные механизмы JavaScript могут возвращать другое строковое представление. В общем, методы, которые полагаются на это, могут дать сбой в различных средах или могут потерпеть неудачу позже, если движок когда-либо изменит строковый результат.Почему перехват исключения - это не взлом?
Было поднято, что перехват исключения для определения достоверности чего-либо - неправильный путь. В целом это хороший совет, но не всегда. В этом случае перехват исключений, вероятно, является лучшим способом, поскольку он основан на реализации механизма JavaScript для проверки данных JSON.
Использование движка JS дает следующие преимущества:
1. Более тщательный и постоянно обновляемый по мере изменения спецификации JSON
2. Скорее всего, будет работать быстрее (так как это код более низкого уровня)
‼️ Когда мне представится возможность опереться на движок JavaScript, я бы посоветовал это сделать. Особенно в этом случае. Хотя это может показаться хакерским перехватом исключения, на самом деле вы просто обрабатываете два возможных состояния возврата из внешнего метода.
#JS #JSON #cromeextension
Stack Overflow
How to test if a string is JSON or not?
I have a simple AJAX call, and the server will return either a JSON string with useful data or an error message string produced by the PHP function mysql_error(). How can I test whether this data ...
Excel Formula Utilities for JavaScript
Источник:
Excel Formula Utilities for JavaScript is a library that can be used to pretty print excel formulas or convert excel formulas into JavaScript. The JavaScript generated by this library will not execute on it's own. You'll need to include something like formula.js to cover all the functions from Excel.
••••••••••
Обсудить:
Источник:
Excel Formula Utilities for JavaScript is a library that can be used to pretty print excel formulas or convert excel formulas into JavaScript. The JavaScript generated by this library will not execute on it's own. You'll need to include something like formula.js to cover all the functions from Excel.
••••••••••
Обсудить:
GitHub
classroomtechtools/excelFormulaUtilitiesJS
Based on ewbi's go calc excel formula parser http://ewbi.blogs.com/develops/popular/excelformulaparsing.html. This library contains methods to beautify an excel formula. This library also ...
Imgur API
Источник:
Начиная
API Imgur предоставляет всю инфраструктуру Imgur через стандартизованный программный интерфейс. Используя API Imgur, вы можете делать практически все, что можете делать на imgur.com, используя при этом язык программирования по вашему выбору. Imgur API - это RESTful API, основанный на HTTP-запросах и JSON-ответах.
Эта версия API, версия 3, использует OAuth 2.0. Это означает, что все запросы необходимо будет зашифровать и отправить через HTTPS. Это также означает, что вам необходимо зарегистрировать свое приложение, даже если вы не разрешаете пользователям входить в систему.
Самый простой способ начать использовать Imgur API - нажать кнопку « Выполнить в Postman» выше. Postman - это бесплатный инструмент, который помогает разработчикам запускать и отлаживать запросы API, и является источником достоверной информации для этой документации. Каждая задокументированная конечная точка, которую вы видите здесь, легко доступна при запуске нашей коллекции Postman.
An AutoIt UDF to help you upload images using Imgur API.
Источник:
#api #autoIt
Источник:
Начиная
API Imgur предоставляет всю инфраструктуру Imgur через стандартизованный программный интерфейс. Используя API Imgur, вы можете делать практически все, что можете делать на imgur.com, используя при этом язык программирования по вашему выбору. Imgur API - это RESTful API, основанный на HTTP-запросах и JSON-ответах.
Эта версия API, версия 3, использует OAuth 2.0. Это означает, что все запросы необходимо будет зашифровать и отправить через HTTPS. Это также означает, что вам необходимо зарегистрировать свое приложение, даже если вы не разрешаете пользователям входить в систему.
Самый простой способ начать использовать Imgur API - нажать кнопку « Выполнить в Postman» выше. Postman - это бесплатный инструмент, который помогает разработчикам запускать и отлаживать запросы API, и является источником достоверной информации для этой документации. Каждая задокументированная конечная точка, которую вы видите здесь, легко доступна при запуске нашей коллекции Postman.
An AutoIt UDF to help you upload images using Imgur API.
Источник:
#api #autoIt
Imgur API
## API Status
Status for the API can be found at [status.imgur.com](http://status.imgur.com)!
## Getting Started
Imgur's API exposes the entire Imgur infrastructure via a standardized programmatic interface. Using Imgur's API, you can do just about anything…
Status for the API can be found at [status.imgur.com](http://status.imgur.com)!
## Getting Started
Imgur's API exposes the entire Imgur infrastructure via a standardized programmatic interface. Using Imgur's API, you can do just about anything…
Forwarded from STM Solution (Stanislav Maslakov)
Приложение разработанное нашими коллегами из дружественного чата @google_sheets
ДАШБОРДЕР. ПРИЛОЖЕНИЕ.
ЭВОТОР + GOOGLE ТАБЛИЦЫ
Привет, друзья!
Мы сделали приложение для интеграции касс Эвотор и Google таблиц, приложение официально выложено в Google, оно позволяет:
– выгружать ваши чеки по api-ключу в таблицу
– выгружать их регулярно после активации триггера
– чеки подставляются в отчеты, в которых можно выбрать магазин / даты и увидеть информацию по товару
– внутри приложения есть отправка диапазонов в телеграм
Сейчас набираем первую группу пользователей, с каждый создадим личный чат для поддержки / приема фидбека
GIF-пример
https://t.me/google_sheets/637
Условия - 5000 рублей / 4 месяца, подробнее программу на канале про Google Таблицы
https://t.me/google_sheets/638
Будут вопросы - пишите в личку @IT_sAdmin, на всё отвечу
ДАШБОРДЕР. ПРИЛОЖЕНИЕ.
ЭВОТОР + GOOGLE ТАБЛИЦЫ
Привет, друзья!
Мы сделали приложение для интеграции касс Эвотор и Google таблиц, приложение официально выложено в Google, оно позволяет:
– выгружать ваши чеки по api-ключу в таблицу
– выгружать их регулярно после активации триггера
– чеки подставляются в отчеты, в которых можно выбрать магазин / даты и увидеть информацию по товару
– внутри приложения есть отправка диапазонов в телеграм
Сейчас набираем первую группу пользователей, с каждый создадим личный чат для поддержки / приема фидбека
GIF-пример
https://t.me/google_sheets/637
Условия - 5000 рублей / 4 месяца, подробнее программу на канале про Google Таблицы
https://t.me/google_sheets/638
Будут вопросы - пишите в личку @IT_sAdmin, на всё отвечу
Telegram
Google Таблицы
Snippet Generator
Источник:
Snippet generator is a tiny React app to help you create Visual Studio Code, Sublime Text and Atom snippets.
I built it for fun. It is hosted on Netlify for free (thanks Netlify). The only thing that I pay money for is a domain name (snippet-generator.app). If you enjoy using snippet generator, help me to renew this domain please.
Enjoy!
••••••••••
#tools
Источник:
Snippet generator is a tiny React app to help you create Visual Studio Code, Sublime Text and Atom snippets.
I built it for fun. It is hosted on Netlify for free (thanks Netlify). The only thing that I pay money for is a domain name (snippet-generator.app). If you enjoy using snippet generator, help me to renew this domain please.
Enjoy!
••••••••••
#tools
Forwarded from DidacticСardsBot
Svelte Front-end Fun с AppsScripts
Источник:
Мне нравятся инструменты для написания, поэтому я считаю себя скорее «бэкенд-программистом», если бы мне захотелось. На самом деле я действительно хочу подчеркнуть, что действительно важно то, что оба «конца» должны согласовываться и работать вместе, что, возможно, означает, что я программист «полного стека».
В любом случае я должен работать в области JavaScript, учитывая контекст, в котором я работаю и в котором я строю. И JavaScript известен своей привлекательностью внешнего интерфейса: если вы хотите работать над пользовательским интерфейсом в браузере, вы говорите о разработке интерфейса JavaScript, и вместе с этой банкой червей приходит серия библиотек, фреймворков, зависимостей, инструментов варианты ... Я вижу много упоминаний о «хрюканье» и «грант» и смутно знаю, что они собой представляют ... но я не уделяю слишком много внимания этим вещам.
Я много читал о React и заинтересовался Vue, но у меня никогда не получалось. Затем я прочитал приличный обзор этого. Потом посмотрел несколько уроков . А потом я нашел статью, в которой говорилось о том, как использовать Svelte в контексте AppsScripts , в котором я живу.
ПОЧЕМУ SVELTE ТАК ВАЖЕН
Наблюдение, которое привлекло меня к Svelte больше, чем к другим фреймворкам, заключалось в том, насколько он был упрощен и в то же время предоставлял такие мощные абстракции, основанные на его простоте. Большинство вещей, которые я делаю, связаны с относительно простым взаимодействием с пользователем, например, надстройка с боковой панелью или что-то вроде простого щелчка-щелчка. Раньше я использовал инструмент с низким кодом, такой как AppMaker, потому что мне не требовалась тяжелая работа. Платформа, которую я использовал, была довольно простой и сдержанной.
Хотя меня интересовала технология, перспектива использования React и Vue была похожа на бензопилу, чтобы разрезать сыр. Между тем, Svelte в основном был тем, чем, как я думал, должен был быть написан сам HTML / CSS / JavaScript, если бы мы попробовали еще раз:
••••••••••
Обсудить:
Источник:
Мне нравятся инструменты для написания, поэтому я считаю себя скорее «бэкенд-программистом», если бы мне захотелось. На самом деле я действительно хочу подчеркнуть, что действительно важно то, что оба «конца» должны согласовываться и работать вместе, что, возможно, означает, что я программист «полного стека».
В любом случае я должен работать в области JavaScript, учитывая контекст, в котором я работаю и в котором я строю. И JavaScript известен своей привлекательностью внешнего интерфейса: если вы хотите работать над пользовательским интерфейсом в браузере, вы говорите о разработке интерфейса JavaScript, и вместе с этой банкой червей приходит серия библиотек, фреймворков, зависимостей, инструментов варианты ... Я вижу много упоминаний о «хрюканье» и «грант» и смутно знаю, что они собой представляют ... но я не уделяю слишком много внимания этим вещам.
Я много читал о React и заинтересовался Vue, но у меня никогда не получалось. Затем я прочитал приличный обзор этого. Потом посмотрел несколько уроков . А потом я нашел статью, в которой говорилось о том, как использовать Svelte в контексте AppsScripts , в котором я живу.
ПОЧЕМУ SVELTE ТАК ВАЖЕН
Наблюдение, которое привлекло меня к Svelte больше, чем к другим фреймворкам, заключалось в том, насколько он был упрощен и в то же время предоставлял такие мощные абстракции, основанные на его простоте. Большинство вещей, которые я делаю, связаны с относительно простым взаимодействием с пользователем, например, надстройка с боковой панелью или что-то вроде простого щелчка-щелчка. Раньше я использовал инструмент с низким кодом, такой как AppMaker, потому что мне не требовалась тяжелая работа. Платформа, которую я использовал, была довольно простой и сдержанной.
Хотя меня интересовала технология, перспектива использования React и Vue была похожа на бензопилу, чтобы разрезать сыр. Между тем, Svelte в основном был тем, чем, как я думал, должен был быть написан сам HTML / CSS / JavaScript, если бы мы попробовали еще раз:
••••••••••
Обсудить:
Classroom Tech Tools
Svelte Front-end Fun with AppsScripts — Classroom Tech Tools
I like writing tools, so I consider myself as more of a “backend” programmer, if I were to choose. In reality I actually want to emphasize that what really matters is that both “ends” need to match up and work together seamlessly, which perhaps means I’m…
Идентификатор родительской папки электронной таблицы приложений Google
Источник:
Правильный Код который не подвержен ошибке
Достигнут конец итератора
Exception: Cannot retrieve the next object: iterator has reached the end.
Обсудить:
#DriveApp #SpreadsheetApp
Источник:
var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();Я еще немного потестил. Вам не обязательно быть владельцем электронной таблицы, но вам нужно иметь разрешение на просмотр или, что лучше, на папку, чтобы получить информацию о папке. Например, если кто-то предоставил вам доступ к электронной таблице, но не к папке, в которой она находится, вы, к сожалению, не сможете получить свойства папки.
var spreadsheetFile = DriveApp.getFileById(spreadsheetId);
var folderId = spreadsheetFile.getParents().next().getId();
Правильный Код который не подвержен ошибке
Достигнут конец итератора
Exception: Cannot retrieve the next object: iterator has reached the end.
function getParentFolder(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var file = DriveApp.getFileById(ss.getId());
var folders = file.getParents();
while (folders.hasNext()){
Logger.log('folder name = '+folders.next().getName());
Logger.log('folder name = '+folders.next().getId());
}
}
••••••••••Обсудить:
#DriveApp #SpreadsheetApp
Stack Overflow
Google apps spreadsheet parents folder ID
I have a google spreadsheet that is keeping track of the files and their names that are inside the folder where the spreadsheet is.
I have looked and can not find how to get the location or ID of t...
I have looked and can not find how to get the location or ID of t...
Копейка рубль бережет!
var num=123457.12546544
// С округлением
console.log(Math.round((num-Math.trunc(num))*100))
// Без округления#snippet #GAS #JS #customformula
console.log(Math.trunc(num % 1 * 100))