我正在寻找一个脚本,当对其中一个客户进行更改时,该脚本会自动向卖方(J列)发送电子邮件。更改是通过Google表单进行的。因此,该表单已链接到电子表格,并且我在客户编号的J列中添加了一个选项卡并在其中进行了vlookup。当我手动键入电子邮件地址时,它可以工作,但是当它是vlookup公式时,它就不起作用了……这是我现在拥有的代码。
谢谢。
function twchange3(e) {
var range = e.range;
if (e.range.getColumn()== 10) {
var sheet = SpreadsheetApp.getActiveSheet();
var row = SpreadsheetApp.getActiveRange().getRow();
var value = sheet.getRange(row, 1, 1, 10).getValues();
var email = value[0][9];
var router = value[0][1];
var noclient = value[0][3];
var nomclient = value[0][4];
var twactuel = value[0][5];
var twdemande = value[0][6];
var raison = value[0][7];
MailApp.sendEmail(value[0][9], "Demande de changement de Time-Window",
"Bonjour voici une demande de changement de Time-Window pour votre client " + nomclient + "\n\n" +
"Numéro de client: " + noclient + "\n\n" +
"Time-Window Actuel: " + twactuel + "\n\n" +
"Time-Window demandé: " + twdemande + "\n\n" +
"Raison: " + raison + "\n\n" +
"Auteur de la demande: " + router + "\n\n");
}
}
答案 0 :(得分:0)
让我改一下你说的话。
这里有一些问题。
手动更改工作表时,将激活onEdit触发器。 当您通过Google表单更新表格时,onEdit不太可能被触发,因为onEdit通常是用户域。可能应该改为触发onChange,甚至可能没有设置它。 然后,即使您设置了onChange并触发了它,我也会说不太可能在 Tab B 的VLOOKUP单元中发生更改,因为后者只是一个过滤器,而实际 Tab A 中可能会发生更改。我之所以说 是因为我决定不测试它,因为您对该问题的描述不是很清楚。
因此,您实际上实际上不需要VLOOKUP,只需直接使用脚本读取更改的单元格即可。
即使是更好的解决方案,也可能是直接使用其自己的脚本和触发器从Google表单读取响应。