Google apps script GoogleSheet脚本:如果列中的单元格大于',则获取单元格值列表;0';
我试图在点击按钮后从谷歌表单中的订购列表发送电子邮件。一切进展顺利,但我需要一个具体部分的帮助:列出所有订购的产品 我在按钮中添加了以下代码:Google apps script GoogleSheet脚本:如果列中的单元格大于',则获取单元格值列表;0';,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图在点击按钮后从谷歌表单中的订购列表发送电子邮件。一切进展顺利,但我需要一个具体部分的帮助:列出所有订购的产品 我在按钮中添加了以下代码: function sendMyEmails() { // Get sheet variables var sheet = SpreadsheetApp.getActiveSheet(); // Use data from the active sheet var Column_E = sheet.getRange("E1:E")
function sendMyEmails() {
// Get sheet variables
var sheet = SpreadsheetApp.getActiveSheet(); // Use data from the active sheet
var Column_E = sheet.getRange("E1:E").getValues();
var Companyname = sheet.getRange("K3").getValue(); // Company name in veld K3
var Name = sheet.getRange("K4").getValue(); // Name in cell K4
var Adress = sheet.getRange("K5").getValue(); // Adress in cell K5
var Postalcode = sheet.getRange("K6").getValue(); // Postal code in cell K6
var City = sheet.getRange("K7").getValue(); // City in cell K7
var Products = ???;
// Build the email message
var emailBody = 'Hi,';
emailBody += '<p>I would like to order:</p>';
emailBody += '<i>'+ Products + '</i>';
emailBody += '<p>You can deliver it to:</p>';
emailBody += '<i>'+ Companyname + '</i><br><i>' + Name + '</i><br><i>' + Adress + '</i><br><i>'+ Postalcode + '</i><br><i>' + City + '</i><br></i>';
emailBody += '<p>Thanks in advance!</p>';
// Send the email
MailApp.sendEmail(
"email@email.nl", // recipient
"New order", // subject
'',
// Body (plain text)
{
htmlBody: emailBody // Options: Body (HTML)
}
);
}
您必须使用products遍历所有行,并检查每行对应的数量是否大于0。如果是这样的话,有关产品的信息会附加到电子邮件正文中。它可以是以下几行的内容(查看内联注释以了解关于代码在每行中所做操作的更多详细信息):
函数sendmails(){
var sheet=SpreadsheetApp.getActiveSheet();//使用活动工作表中的数据
//生成电子邮件:
var emailBody='Hi';
emailBody+='我想订购:;
//构建产品部分:
var firstRow=10;//产品数据的起始位置(在示例中,是第10行)
var firstCol=1;//哪个列产品数据开始
var numRows=sheet.getLastRow()-firstRow+1;
var numCols=sheet.getLastColumn()-firstCol+1;
//获取有关产品数据的所有值:
var productData=sheet.getRange(firstRow、firstCol、numRows、numCols).getValues();
var products=“”;
对于(var j=0;j0){//检查数量是否大于0
var article=第[0]行;
//附加产品数据:
产品+=''+数量+'x商品编号'+商品+'
;
}
}
emailBody+=''+产品+'';//将所有产品数据附加到电子邮件正文中
//构建联系人数据部分:
var contactData=sheet.getRange(“K3:K7”).getValues();
emailBody+='您可以将其发送到:';
对于(var i=0;i'//将联系人数据添加到电子邮件正文
}
emailBody+='提前感谢!';
//发送电子邮件
MailApp.sendmail(
"email@email.nl“,//收件人
“新订单”,//主题
'',
//正文(纯文本)
{
htmlBody:emailBody//Options:Body(HTML)
}
);
}
我测试了代码,它发送了一封类似这样的电子邮件:
笔记:
- 在这个示例中,我没有使用K列中的数据,而是在脚本本身中创建消息
(请参见内联注释)1x article A
- 在这个示例中,我使用循环来添加联系人数据,而不是为每个单元格生成一个
,并将所有字段逐个添加到电子邮件正文中(请参见内联注释)getValue
我希望这能有所帮助。你能分享一份你正在处理的电子表格副本吗(不含敏感信息)?@iamblichus你可以在这里找到它:
Hi,
I would like to order:
1x article A (value of a cell in column K)
1x article B (value of a cell in column K)
You can deliver it to:
Company
Name
Address
Postal code
City
Thanks in advance!