Объединение двух сценариев в один сценарий

#javascript #google-apps-script #google-sheets

Вопрос:

Мне нужна помощь, так как я не программист, и я только начинаю изучать скрипт Google, чтобы выполнять повторяющиеся задачи в сложной электронной таблице Google. Я думаю, что-то не так с моим синтаксисом или что-то в этом роде…

Я только что добавил второй сценарий «getSheetUrl» в нижней части этого сценария, потому что я хочу включить URL-адрес активного листа после текста отправляемого мной электронного письма…

Пожалуйста, помогите! Возможно ли это вообще???

 function sendEmail() {
const sheet = SpreadsheetApp.getActive().getSheetByName('Yr 1 ILP Road Map');
const sheet2 = SpreadsheetApp.getActive().getSheetByName('Yr 2 ILP Road Map');
const j46 = sheet.getRange('J46').getValue();
const k46 = sheet.getRange('K46').getValue();
const l46 = sheet.getRange('L46').getValue();
const m46 = sheet.getRange('M46').getValue();
const n46 = sheet.getRange('N46').getValue();
const o46 = sheet.getRange('O46').getValue();
const j57 = sheet.getRange('J57').getValue();
const k57 = sheet.getRange('K57').getValue();
const l57 = sheet.getRange('L57').getValue();
const m57 = sheet.getRange('M57').getValue();
const n57 = sheet.getRange('N57').getValue();
const o57 = sheet.getRange('O57').getValue();
const j68 = sheet.getRange('J68').getValue();
const k68 = sheet.getRange('K68').getValue();
const l68 = sheet.getRange('L68').getValue();
const m68 = sheet.getRange('M68').getValue();
const n68 = sheet.getRange('N68').getValue();
const o68 = sheet.getRange('O68').getValue();
const j79 = sheet.getRange('J79').getValue();
const k79 = sheet.getRange('K79').getValue();
const l79 = sheet.getRange('L79').getValue();
const m79 = sheet.getRange('M79').getValue();
const n79 = sheet.getRange('N79').getValue();
const o79 = sheet.getRange('O79').getValue();
const j462 = sheet2.getRange('J46').getValue();
const k462 = sheet2.getRange('K46').getValue();
const l462 = sheet2.getRange('L46').getValue();
const m462 = sheet2.getRange('M46').getValue();
const n462 = sheet2.getRange('N46').getValue();
const o462 = sheet2.getRange('O46').getValue();

if (j46 !== 2 amp;amp; k46 !== 2 amp;amp; l46 !== 2 amp;amp; m46 !== 2 amp;amp; n46 !== 2 amp;amp; o46 !== 2 amp;amp; j57 !== 2 amp;amp; k57 !== 2 amp;amp; l57 !== 2 amp;amp; m57 !== 2 amp;amp; n57 !== 2 amp;amp; o57 !== 2 amp;amp; j68 !== 2 amp;amp; k68 !== 2 amp;amp; l68 !== 2 amp;amp; m68 !== 2 amp;amp; n68 !== 2 amp;amp; o68 !== 2 amp;amp; j79 !== 2 amp;amp; k79 !== 2 amp;amp; l79 !== 2 amp;amp; m79 !== 2 amp;amp; n79 !== 2 amp;amp; o79 !== 2 amp;amp; j462 !== 2 amp;amp; k462 !== 2 amp;amp; l462 !== 2 amp;amp; m462 !== 2 amp;amp; n462 !== 2 amp;amp; o462 !== 2){
return;
}

function getSheetUrl(){
var SS = SpreadsheetApp.getActiveSpreadsheet();
var ss = SS.getActiveSheet();
var url = '';
url  = SS.getUrl();
url  = '#gid=';
url  = ss.getSheetId();
return url;
}

const emailAddress = sheet.getRange('D42').getValue();
const subject = sheet.getRange('D43').getValue();
const body = sheet.getRange('D44').getValue();
MailApp.sendEmail(emailAddress, subject, body, url);
}

 

Ответ №1:

 function sendEmail() {
  const ss = SpreadsheetApp.getActive();
  const sheet = ss.getSheetByName('Yr 1 ILP Road Map');
  const sheet2 = ss.getSheetByName('Yr 2 ILP Road Map');
  const [j46, k46, l46, m46, n46, o46] = sheet.getRange('J46:O46').getValues()[0];
  const [j57, k57, l57, m57, n57, o57] = sheet.getRange('J57:O57').getValues()[0];
  const [j68, k68, l68, m68, n68, o68] = sheet.getRange('J68:O68').getValues()[0];
  const [j79, k79, l79, m79, n79, o79] = sheet.getRange('J79:O79').getValues()[0];
  const [j462, k462, l462, m462, n462, o462] = sheet2.getRange('J462:O462').getValues()[0];
  if (j46 !== 2 amp;amp; k46 !== 2 amp;amp; l46 !== 2 amp;amp; m46 !== 2 amp;amp; n46 !== 2 amp;amp; o46 !== 2 amp;amp; j57 !== 2 amp;amp; k57 !== 2 amp;amp; l57 !== 2 amp;amp; m57 !== 2 amp;amp; n57 !== 2 amp;amp; o57 !== 2 amp;amp; j68 !== 2 amp;amp; k68 !== 2 amp;amp; l68 !== 2 amp;amp; m68 !== 2 amp;amp; n68 !== 2 amp;amp; o68 !== 2 amp;amp; j79 !== 2 amp;amp; k79 !== 2 amp;amp; l79 !== 2 amp;amp; m79 !== 2 amp;amp; n79 !== 2 amp;amp; o79 !== 2 amp;amp; j462 !== 2 amp;amp; k462 !== 2 amp;amp; l462 !== 2 amp;amp; m462 !== 2 amp;amp; n462 !== 2 amp;amp; o462 !== 2) {
    return;
  }
  const sh = ss.getActiveSheet();
  let url = '';
  url  = ss.getUrl();
  url  = '#gid=';
  url  = sh.getSheetId();
  const emailAddress = sheet.getRange('D42').getValue();
  const subject = sheet.getRange('D43').getValue();
  const body = sheet.getRange('D44').getValue();
  MailApp.sendEmail(emailAddress, subject, body   ' '   url);
}
 

Для MailApp.SendEmail()нет параметра URL-адреса;