【发布时间】:2016-06-15 13:23:57
【问题描述】:
我在一个特定的电子表格中有两张表格,两张表格都与它们相关联。第一张表/表单应该发送包含表单提交数据的电子邮件(原件由 Amit Agarwal 创建,这里是 an historic link)。第二个表格/表格没有做任何特别的事情,因为它只是从表格中收集数据。有问题的脚本设置为 On Form Submit 触发器。
我遇到的问题是脚本有时从 form/sheet2 运行。我想指定脚本需要从哪个工作表/表单中触发才能运行。我创建的修改后的代码是基于大量的环顾四周。这是sn-p:
function Initialize() {
var triggers = ScriptApp.getProjectTriggers();
for (var i in triggers) {
ScriptApp.deleteTrigger(triggers[i]);
}
ScriptApp.newTrigger("SendConfirmationMail")
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit()
.create();
}
function SendConfirmationMail(e) {
try {
var ss, bcc, sendername, subject, columns;
var message, value, textbody, sender;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Help Request Tickets');
var rowNumber = s.getActiveRange().getRowIndex();
var row = e.range.getRow();
// This is your email address and you will be in the BCC
bcc = "email", "email";
// This will show up as the sender's name
sendername = "sendername";
// Optional but change the following variable
// to have a custom subject for Google Docs emails
subject = "subject"
// This is the body of the auto-reply
message = "message"
ss = SpreadsheetApp.getActiveSheet();
columns = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0];
我认为这两行应该完成这个:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
我想脚本认为 Sheet2 处于活动状态(如果我打开电子表格可能就是这种情况)。当然有办法解决/完成这个,我错过了什么?
【问题讨论】:
-
Amit 更新了最初包含该代码的博客条目,现在它描述了安装和使用他的 Google 表单插件。回程机器中该帖子的最旧版本有代码,不过:here。
标签: google-apps-script google-sheets google-forms