Burada ilk soru, ama son birkaç gündür bu siteyi inceliyordum. Ben google öğretici tabanlı komut dosyası ile görebildiğiniz gibi bu konuda inanılmaz derecede yeniyim!Javascript'te yeni, "ReferenceError:" sayfası alınıyor "tanımlı değil." Çok fazla değil
bir Google elektronik tablosu birden fazla kağıda eklenir bilgilere dayalı e-postalar göndermek için zamanlanmış tetikleyici içeren bir senaryo kurma görevi verilen. Bunu bir Google E-tablosunda 3 farklı sayfa ile çalışmaya çalışıyorum.
Çok teşekkürler, bu site bilgi hazinesi olmuştur.
DÜZENLEME: Eğer tüm biraz daha ileri kazanılmış ettik teşekkürler. Tüm sayfalara e-posta gönderebiliyorum, ancak yalnızca referans olarak verdiğim son sayfa, e-postaları "Destek Ekibi" olarak gönderir. İlk iki sayfa, bir kerede "Yöneticiler" ve "Öğretmenler" de bir e-posta gönderir. Umarım bunun için basit bir sebep vardır. Eminim senaryolarım günah ve gereksiz olarak çirkin.
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var startRow = 2;
var numRows = 1000;
var sheet = ss.getSheetByName ('Administrators')
var dataRange = sheet.getRange(startRow, 1, numRows, 1000)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Teachers')
var dataRange = sheet.getRange(startRow, 1, numRows, 1000)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Support Staff')
var dataRange = sheet.getRange(startRow, 1, numRows, 1000)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
}
}
}
}
emin değil Bunu 'sheets' tanımlı değil' sheet' sahip – brk
yaprak veya levha olacaksa. 'sheets' bir değer dizisidir. Bu yüzden eğer 'bir sayfadan' yaprak 'çıktıysanız' index [sayfa] 'gibi indeksine göre seçmeniz gerekiyorsa, –
Wow, gerçekten hızlı yorumlar, herkese teşekkürler. Evet, "var dataRange = sheets.getRange (startRow, 1, numRows, 1000)" ile değiştirdiğimde, "Yeni bir hatayla karşılaştım", TypeError: Nesne yöneticisi, Öğretmenler, Destek Personeli'nde getRange işlevi bulunamıyor. satır 8, dosya "Kod") "Looksl daha çok ilerlediğim gibi, herkese teşekkürler! –