首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要将脚本更改为同一工作表中的不同页

需要将脚本更改为同一工作表中的不同页
EN

Web Applications用户
提问于 2021-07-14 18:36:24
回答 1查看 89关注 0票数 0

我在谷歌工作表的工作表上有一个脚本,当一个单元格更改为"TRUE“时,它会发送电子邮件,但是所讨论的单元格是一个vlookup到工作簿中的另一个工作表。

这在工作簿中的“主”选项卡中有效,但我需要将其更改为“出站部件”选项卡,或者能够更改脚本以读取Vlookup要返回的内容。我是新来的,我正在努力寻找如何使这个工作,任何想法都会有帮助。

代码语言:javascript
运行
复制
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)
}
EN

回答 1

Web Applications用户

发布于 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.infoMozilla开发人员网络堆栈溢出的应用程序脚本

票数 0
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/155807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档