簡體   English   中英

Google Apps 腳本 - 如何從工作表 2 中獲取 email 地址並發送 email

[英]Google Apps Script - How to get email addresses from Sheet 2 and send email

我在使用 getLastColumn() 時遇到問題。

我有兩頁。 第一頁是輸入數據的頁面。 第二頁寫着要發郵件的人的部門,而在其他欄目中,部門官員的電子郵件地址按照單元格的順序排列。

資料頁 資料頁Email 地址頁

我想要做的是在第一頁,第二頁上找到部門名稱,它只向該部門的所有官員發送電子郵件。

到目前為止,我的代碼僅將電子郵件發送到通過列進行的 email 地址中的第一個地址。

 function ssForward_otomatik_mail() { // DEFINE YOUR MAIN SPREADSHEET const ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1RxbUCsZdaUPrOlosAVcfaHeM08pJWfElugmzfunYrj8/edit#gid=996210355"); const dataSheet = ss.getSheetByName("SHEET DATA PAGE"); const dataSheet2 = ss.getSheetByName("SHEET EMAIL ADDRESS PAGE"); for (var i = 2; i <= dataSheet.getLastRow(); i++){ for (var k = 1; k <=dataSheet2.getLastRow(); k++){ for (var l = 2; l <=dataSheet2.getLastColumn(); l++){ const toEmail = dataSheet2.getRange(k,l).getValue(); const departmant = dataSheet.getRange(i, 4).getValue(); const mail_bildirimi = dataSheet.getRange(i,22).getValue(); const egitim_durumu = dataSheet.getRange(i,20).getValue(); const personelin_adi = dataSheet.getRange(i,2).getDisplayValue(); const blank = ""; const sicil_no = dataSheet.getRange(i,1).getDisplayValue(); const departmant2 = dataSheet2.getRange(k,1).getValue(); const htmlTemplate = HtmlService.createTemplateFromFile('emailTable15'); htmlTemplate.personelin_adi = personelin_adi; htmlTemplate.sicil_no = sicil_no; const htmlForEmail = htmlTemplate.evaluate().getContent(); if (deparmant == departmant2 & mail_bildirimi.= "✓" & egitim_durumu == "HAYIR" & personelin_adi:= blank & sicil_no>0 & sicil_no<300000){ var subject = 'Biriminizde Yaşanmış İş Kazası Hakkında' MailApp,sendEmail({ to: toEmail, //cc, ccEmail: subject, htmlBody; htmlForEmail. }), // MARK THE ROW AS COMPLETED dataSheet.getRange(i; 22).setValue("✓"); } } } } }

任何幫助將不勝感激。

以逗號分隔的字符串獲取部門電子郵件

function getAllEmailsForDepartment(d) {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet Name');
  const ds = sh.getRange(1,1,sh.getLastRow(),1).getValues().flat();
  let idx = ds.indexOf(d);
  if(~idx) {
    return sh.getRange(idx + 1,2,1,sh.getLastColumn() -1).getValues().flat().join(',');
  }else{
    SpreadsheetApp.getUi().alert(`Department ${d} not found`);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM