我在谷歌工作表的工作表上有一个脚本,当一个单元格更改为"TRUE“时,它会发送电子邮件,但是所讨论的单元格是一个vlookup到工作簿中的另一个工作表。
这在工作簿中的“主”选项卡中有效,但我需要将其更改为“出站部件”选项卡,或者能够更改脚本以读取Vlookup要返回的内容。我是新来的,我正在努力寻找如何使这个工作,任何想法都会有帮助。
function sendMailEdit(e){
if (e.range.columnStart != 8 || e.value != "TRUE") return;
const rData = e.source.getActiveSheet().getRange(e.range.rowStart,1,1,7).getValues();
let ShippingFrom = rData[0][1];
let ShippingTo = rData[0][2];
let PO = rData[0][3];
let Supplier = rData[0][4];
let Part = rData[0][5];
let msg = "Order number " + PO + " into " + ShippingFrom + " going to " + ShippingTo + " containing " + Part + " from " + Supplier + " ready for interbranch. ";
Logger.log(msg);
GmailApp.sendEmail("jyearous@gmail.com", "Parts Received", msg)
}发布于 2021-07-14 22:00:25
您的代码似乎运行在可安装 on edit触发器上。当您单击复选框来运行代码时,活动工作表将是您单击的那个工作表,即Outbound Parts。
您是说您希望代码使用来自另一个工作表的数据,即Master。一种方法是使用Spreadsheet.getSheetByName()获取Master表,并使用Array.indexOf()将活动表中的A列中的值作为搜索键,并使用Master!J2:J中的值作为数组。您可以使用类似于const keys = e.source.getRange('Master!J2:J).getValues().flat()的方法获得这些值。
然后,您可以用您所在行的数据填充电子邮件。
学习Google脚本的最佳资源包括:初学者指南、新的应用程序脚本编辑器指南、谷歌应用程序脚本的基本原理 codelab、扩展Google页面、javascript.info、Mozilla开发人员网络和堆栈溢出的应用程序脚本。
https://webapps.stackexchange.com/questions/155807
复制相似问题