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);
}
希望对您有所帮助!
我有一个简单的脚本可以根据电子表格中的数据发送电子邮件。
第 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);
}
希望对您有所帮助!