хороший день для всехGoogle Таблицы Авто Email Script
У меня есть сценарий здесь, fyi Я не знаю много о написании функций. Я сумел frankenstein некоторые сценарии, которые я нашел, чтобы заставить его работать, вроде как. Он работает с одной функцией, делая один лист, но, как вы увидите, мне нужно, чтобы все 3 листа, и я получаю слишком много ошибок триггеров, когда я дублирую функцию.
У меня есть 4 листа в этом документе, элемент управления (мастер), затем 3 потянув данные из этого (AZ, CA, NH).
У меня тогда есть формула, которая извлекает случайные строки из этих данных. на каждой из 3-х страниц (AZ, CA, NH) я генерирую список случайных циклов инвентаризации.
Я получил электронное письмо, а затем сделал обходное решение, добавив в формулу формулу = today() и if, чтобы заставить ее пересчитывать изменения. и получил скрипт для редактирования книги (замените содержимое ячейки (G1)). прекрасно работает.
В этом проблема. Могу ли я конденсировать это в одну функцию? все одинаково на всех страницах (AZ, CA, NH), одинаковое количество строк и столбцов и одинаковое размещение данных. Вот мой код.
* Похоже, у меня кончилось пробел в коде или что-то в этом роде. Я в основном дублирует это еще 2 раза и изменил название листа к «СА» & «NH» функции и триггеры email_ca() & email_nh(), а также myRecalculate()
//AZ Script
function email() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var bulk = ss.getSheetByName("AZ");
var lastrow = bulk.getLastRow();
var data1 = bulk.getRange(6, 7, lastrow).getValues(); // part number column
var report = ""
var email ="";
for(var i in data1){
if(data1[i]!="") email += "<tr><td style='padding:5px'>" + data1[i];
}
report ="<table><tr><th>Part Number</th></tr>" + email + "</table>";
MailApp.sendEmail(Session.getActiveUser().getEmail(),
"Cycle Count", report, {htmlBody: report});
}
ScriptApp.newTrigger("email")
.timeBased()
.onWeekDay(ScriptApp.WeekDay.THURSDAY)
.create();
function myRecalculate() {
// The code below opens a spreadsheet using its ID
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
var ss = SpreadsheetApp.openById("13SAt0XQgHQz1JRhXyvwbL6ASfnlLjvFXJQsHfYRM1nE");
var sheet = ss.getSheetByName("AZ");
var cell = sheet.getRange('G1')
cell.setValue("Randomizer!!!")
}
ScriptApp.newTrigger("myRecalculate")
.timeBased()
.onWeekDay(ScriptApp.WeekDay.WEDNESDAY)
.create();
Теперь мне просто нужно знать, как отправлять электронные письма нескольким людям – user2970972