function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename)
.getContent();
}
<style>
Тут код вашего BS
</style>
<script>
Тут код вашей JQ
</script>
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<?!= include('bs'); ?>
</head>
<body>
<h1>Welcome</h1>
<p>Please enjoy this helpful script.</p>
<?!= include('jq'); ?>
</body>
</html>
function showSidebar() {
var htmlTemplate = HtmlService
.createTemplateFromFile('client');
SpreadsheetApp.getUi().showSidebar(htmlTemplate.evaluate()
.setTitle('Цвет текста в ячейке поменялся'));
}
/**
*
*/
function runOnce() {
trigger_();
}
/**
*
*/
function trigger_() {
try {
triggerAction();
} catch (error) {
console.error(error.message, error);
} finally {
var hours = 10;
var minutes = 17;
var seconds = 56;
var now = new Date();
var nextTime = new Date();
nextTime.setHours(0, 0, 24 * 3600 + hours * 3600 + minutes * 60 + seconds);
var delta = nextTime.getTime() - now.getTime();
ScriptApp.newTrigger('trigger_')
.timeBased()
.after(delta)
.create();
}
}
/**
*
*/
function triggerAction() {
console.log("I'm fine");
}
triggerAction
- это то, что выполняет ваш скриптrunOnce
- это то, что вы должны запустить один раз при первом запуске вашего триггера. Другие настройки не требуютсяtrigger_
- это и триггер и конфигурация вашего триггераconst time = new Date();
const hours = time.getHours();
const minutes = time.getMinutes();
if ((hours!=21)&&(minutes!=0)){return;};
Могу ли я написать такой триггер, чтобы он запускал программу по проверке накладных даже когда моя таблица у меня не загружена?
const title = "Заголовок";
const prompt = "Сообщение";
const buttons = Browser.Buttons.OK;
var retVal1 = Browser.inputBox(title, prompt, buttons);
const title = "Заголовок";
const prompt = "Сообщение";
const buttons = Browser.Buttons.OK;
var retVal2 = SpreadsheetApp.getUi().prompt(title, prompt, buttons);
/**
*
* @param {GoogleAppsScript.Spreadsheet.Sheet} sheet
* @param {Array.<Array.<string>>} data
* @return {GoogleAppsScript.Spreadsheet.Range}
*/
function appendData(sheet, data) {
const lastRow = sheet.getLastRow() + 1;
return sheet
.getRange(lastRow, 1, lastRow + data.length, data[0].length)
.setValues(data);
}