【问题标题】:Google Apps Script | Switch Case selecting default option onlyGoogle Apps 脚本 | Switch Case 仅选择默认选项
【发布时间】:2014-08-02 06:30:59
【问题描述】:

我有一个很好的表单,用户可以在其中提交数据。为了学习,我只有一个表单域,它是一个带有 2 个选项的单选按钮。生成的电子表格只有 2 个列,“时间戳”和“名称”。

我的脚本的目标是评估表单提交中的事件驱动数据,然后更改变量中的值,以便可以将电子邮件发送给不同的用户。案例永远不会评估,结果始终是默认值。这是我的脚本,其中来自其他来源:Digital Inspiration

函数初始化(){ var triggers = ScriptApp.getScriptTriggers(); for(触发器中的变量 i){ ScriptApp.deleteTrigger(triggers[i]); } ScriptApp.newTrigger("SendGoogleForm") .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit() .create(); } 函数 SendGoogleForm(e) {
试试 {

var subject = "Form Test";  

var s = SpreadsheetApp.getActiveSheet();
var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
var message = "";    

// Credit to Henrique Abreu for fixing the sort order

for(var i in headers) {
  message += headers[i] + ' :: '+ e.namedValues[headers[i]].toString() + "\n\n"; 
}

message += headers[1] + "\n";
message += e.namedValues[headers[1]]; \\ I left this in to check datavalues in the email
message += e.namedValues[headers[1]]; \\ I left this in to check datavalues in the email
message += e.namedValues[headers[1]] + "\n";

var email = e.namedValues[headers[1]].toString; \\ I would ASSUME that this would store \\the spreadhseet data to the variable email,

但它似乎没有这样做。

message += "Sheet URL :: " + SpreadsheetApp.getActiveSpreadsheet().getUrl() + "\n";

     switch (email)
    {
        case "basdf":
            email = "email1@hotmail.com";
            break;
        case "dfdsa":
            email = "email2@hotmail.com";
            break;
        default:
            email = "email3@hotmail.com";
            break;
    }




MailApp.sendEmail({
  to: email,
  subject: subject,
  body: message,
  })
   } catch (e) {
Logger.log(e.toString());   }
 }

【问题讨论】:

    标签: javascript email google-apps-script case


    【解决方案1】:

    试试这个 sn-p。它使用表单提交的值检查标题列名称,然后将相应的值分配给电子邮件变量。

    var email = "";
    
    for(var i in headers) {
      if (headers[i] == "email") {
         email = e.namedValues[headers[i]].toString();
      }
      message += headers[i] + ' :: '+ e.namedValues[headers[i]].toString() + "\n\n"; 
    }
    
    switch (email)  {
            case "basdf":
                email = "email1@hotmail.com";
                break;
            case "dfdsa":
                email = "email2@hotmail.com";
                break;
            default:
                email = "email3@hotmail.com";
                break;
        }
    

    【讨论】:

      猜你喜欢
      • 2011-05-09
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多