Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script GoogleSheet脚本:如果列中的单元格大于',则获取单元格值列表;0';_Google Apps Script_Google Sheets - Fatal编程技术网

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!