Volond Apps
220 subscribers
216 photos
28 videos
22 files
994 links
Программирование для души и от лени
Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Download Telegram
Python, например

Автор: Лейси Никола
Год издания: 2021

#Python #русский
Forwarded from Google Таблицы
Ну что, друзья, пора бы нам и о Формах поговорить...
Сегодня делимся полезной статьей от Александра Макеева - про предзаполненную форму.

Это возможность сразу отображать образец заполнения формы. В статье о самом образце, о том, как формируется ссылка на образец заполнения и как формулой в Таблицах сформировать ссылки на большое количество предзаполненных форм, а не таскать данные "руками" из таблицы в каждую форму.

Благодарим Александра за отличный материал!

https://telegra.ph/Google-Form-Predzapolnenie-08-15-2
Forwarded from volond
Года 3 назад @oshliaer сказал что справка Google самая лучшая книга по скриптам я его не понимал а вот недавно прочитал правила наименования переменных типа такого
и как говориться прозрел
Есть еще два прекрасный ресурса 1 и более академический
Из книг
так как я пришел из мира VBA то GOIN GAS
и еще
Forwarded from volond
Имена месяцев из дат без дополнительного списка
=arrayformula(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(TEXT(date(2021;SEQUENCE(12;1;1);1);"mmmm.yyyy");"я\.";"ь ");"та\.";"т ");"аь";"ай"))
Forwarded from Эксплойт
⛳️ Учимся гуглить. Секреты поиска Google, о которых должен знать каждый

Информация - нефть 21 века, а умение ее искать мастхев-навык для каждого современного человека.

Google обычно отлично справляется с поставленной задачей, даже если вы ввели запрос неверно. Однако когда дело доходит до использования поиска в исследовательских целях или необходим более узкий и точный результат – стоит воспользоваться продвинутыми настройками.

Вы можете использовать скрытые модификаторы поиска, чтобы намного быстрее получать более точные результаты. В этой статье мы собрали самые полезные из них:

exploit.media/tech/google-secrets/
Forwarded from Alexander Ivanov
Возможно, что-то вроде
function controlCallSimpleService(){

var webAppUrl ='https://script.google.com/a/DOMAIN/macros/s/id123123123/exec';

var token = ScriptApp.getOAuthToken();

var options = {
'method' : 'post'
, 'headers': {'Authorization': 'Bearer '+ token}
, muteHttpExceptions: true
};

var response = UrlFetchApp.fetch(webAppUrl, options);
console.log(response.getContentText());
}
Forwarded from Александр
Образцы шаблонов даты и времени
Источник:
Google Forms использует шаблоны даты и времени Oracle для форматирования и анализа дат. Вот несколько примеров форматов и соответствующие выходные данные, которые будут отображаться в сообщениях электронной почты.

═══════════════════════════════
Date and Time Patter |Formatted Text Output
═══════════════════════════════
yyyy-MM-dd hh:mm |2020-11-19 11:34 PM
═══════════════════════════════
yyyy-MMM-d HH:mm:ss |2020-Nov-19 23:34:49
═══════════════════════════════
MMMMM dd, yyyy |November 19, 2020
════════════════════════════════
EEE, d MMM yyyy |Thu, 19 Nov 2020
═══════════════════════════════
EEEEE, d MMM yyyy |Thursday, 19 Nov 2020
════════════════════════════════
yyyy/MM/dd HH:mm:ss | 2020/11/19 23:34:49
════════════════════════════════
••••••••••
Обсудить
Forwarded from Юрий
Кстати, может кому-то будет полезно, 2GIS ввел API в тестовом режиме, кто хочет может попробовать, правда мне до сих пор ответа с ключом доступа так и не прислали (прошло больше суток)
https://dev.2gis.ru/
Тестируем триггеры
/**
* Test function for onEdit. Passes an event object to simulate an edit to
* a cell in a spreadsheet.
*
* Check for updates: https://stackoverflow.com/a/16089067/1677912
*
* See https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events
*/
function test_onEdit() {
onEdit({
user : Session.getActiveUser().getEmail(),
source : SpreadsheetApp.getActiveSpreadsheet(),
range : SpreadsheetApp.getActiveSpreadsheet().getActiveCell(),
value : SpreadsheetApp.getActiveSpreadsheet().getActiveCell().getValue(),
authMode : "LIMITED"
});
}

/**
* Test function for Spreadsheet Form Submit trigger functions.
* Loops through content of sheet, creating simulated Form Submit Events.
*
* Check for updates: https://stackoverflow.com/a/16089067/1677912
*
* See https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events
*/

function test_onFormSubmit() {
var dataRange = SpreadsheetApp.getActiveSheet().getDataRange();
var data = dataRange.getValues();
var headers = data[0];
// Start at row 1, skipping headers in row 0
for (var row=1; row < data.length; row++) {
var e = {};
e.values = data[row].filter(Boolean); // filter: https://stackoverflow.com/a/19888749
e.range = dataRange.offset(row,0,1,data[0].length);
e.namedValues = {};
// Loop through headers to create namedValues object
// NOTE: all namedValues are arrays.
for (var col=0; col<headers.length; col++) {
e.namedValues[headers[col]] = [data[row][col]];
}
// Pass the simulated event to onFormSubmit
onFormSubmit(e);
}
}

Подсказки
При моделировании событий старайтесь как можно точнее сопоставить задокументированные объекты событий.

Если вы хотите проверить документацию, вы можете зарегистрировать полученное событие от своей триггерной функции.

Logger.log( JSON.stringify( e , null, 2 ) );

В событиях отправки формы электронной таблицы:
все значения namedValues ​​являются массивами.
Метки времени - это строки, и их формат будет локализован в соответствии с локалью формы. При чтении из электронной таблицы с форматированием по умолчанию * они являются объектами Date. Если ваша функция триггера полагается на строковый формат отметки времени (что является плохой идеей), убедитесь, что вы правильно моделируете значение.
Если в вашей электронной таблице есть столбцы, которых нет в вашей форме, метод в этом сценарии будет имитировать «событие» с включенными этими дополнительными значениями, а это не то, что вы получите при отправке формы. < / li>
Как указано в проблеме 4335 , массив values пропускает пустые ответы (в «новых формах» + «новых таблицах»). Для моделирования этого поведения используется метод filter(Boolean).

Обновление 2017 г .: Отлаживайте объекты событий с помощью Stackdriver Logging для скрипта Google Apps. В строке меню редактора скриптов перейдите к: View > Stackdriver Logging для просмотра или потоковой передачи журналов.

console.log () будет писать сообщения уровня DEBUG

function onEdit (e) {
var debug_e = {
authMode: e.authMode,
range: e.range.getA1Notation(),
source: e.source.getId(),
user: e.user,
value: e.value,
oldValue: e. oldValue
}

console.log({message: 'onEdit() Event Object', eventObject: debug_e});
}

function onFormSubmit (e) {
var debug_e = {
authMode: e.authMode,
namedValues: e.namedValues,
range: e.range.getA1Notation(),
value: e.value
}

console.log({message: 'onFormSubmit() Event Object', eventObject: debug_e});
}


function onChange (e) {
var debug_e = {
authMode: e.authMode,
changeType: changeType,
user: e.user
}

console.log({message: 'onChange() Event Object', eventObject: debug_e});
}

Затем проверьте журналы в Stackdriver UI, помеченном как строка message, чтобы увидеть выход

Источник:
Forwarded from Рестарт
This media is not supported in your browser
VIEW IN TELEGRAM
CodeSee — сервис для визуализации кода

Это автоматически генерируемые, самообновляющиеся диаграммы кода. Они синхронизируют вашу кодовую базу по мере развития кода.

Сервис поможет понять, как связаны файлы и папки, увидеть, как изменения кода вписываются в более крупную архитектуру, и многое другое.

CodeSee может отображать файлы и папки для любого языка с возможностью визуализировать зависимости между кодовыми базами Go, Java, JavaScript, Python и TypeScript.

GIT #программирование
Live stream started