Google 应用程序脚本 return 正确的值 + 多个不需要的逗号

Google apps script return correct values + multiple not required commas

我有一个简单的脚本可以根据电子表格中的数据发送电子邮件。

第 1 列是主题。第 2、3、4、5 列是正文。

问题是 - 我在电子表格中的北斗七星 - 在电子邮件末尾发送的逗号脚本越多。如果这是第一行 - 没有额外的逗号。第二行 - 2 个逗号,第三行 - 4 个逗号等等。

如何去掉这些不需要的逗号? 对于这个新手问题,我真的很抱歉。

密码是

function sendEmails() {
  var time = new Date;
  Logger.log(time);
  var sheet = SpreadsheetApp.getActiveSheet();
  var hojaRegistro = SpreadsheetApp.getActive();
  var activeRow = hojaRegistro.getActiveCell().getRow();
  var subject = sheet.getRange(activeRow, 1, activeRow, 1).getValues();
  var message = sheet.getRange(activeRow, 2, activeRow, 5).getValues();
  MailApp.sendEmail('my@mymail.com', subject, message);
  sheet.getRange(activeRow, 6).setValue('E-mail sent on ' +time);
  SpreadsheetApp.flush();
}

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Send Email",
    functionName : "sendEmails"
  }];
  sheet.addMenu("Script Center Menu", entries);
};

如果您想将活动行中的第一列作为主题,将第 2、3、4、5 列作为正文,则必须从同一行中检索所有列的范围。为此,您必须将第三个参数指定为 1 而不是 activeRow(var message = sheet.getRange(activeRow, 2, 1 , 5).getValues();).

对代码进行了一些更改。

试试这个:

function sendEmails() {
  var time = new Date;
  Logger.log(time);
  var sheet = SpreadsheetApp.getActiveSheet();
  var hojaRegistro = SpreadsheetApp.getActive();
  var activeRow = hojaRegistro.getActiveCell().getRow();
  var subject = sheet.getRange(activeRow, 1, activeRow, 1).getValues();
  var message = sheet.getRange(activeRow, 2, 1 , 5).getValues();
  MailApp.sendEmail('my@mymail.com', subject, message);
  sheet.getRange(activeRow, 6).setValue('E-mail sent on ' +time);
  SpreadsheetApp.flush();
}

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Send Email",
    functionName : "sendEmails"
  }];
  sheet.addMenu("Script Center Menu", entries);
}

希望对您有所帮助!