google-apps-script - 遍历列,查找匹配,并复制同一行中单元格的内容
问题描述
我有一个遍历特定列的代码(电子表格 https://docs.google.com/spreadsheets/d/1pebqQFpwkC5OQ59wBEG9RXggHkt1pYhbm3cFBw8rLWE/edit?usp=sharing)并为它在列中找到的每个匹配项发送一条消息(匹配项是“完成”这个词)。但我需要的是找到匹配项并包含消息中同一行中的某些单元格的内容。关于如何做的任何想法?谢谢。
function completeInfoToExtend() {
var ss =
SpreadsheetApp.openById("1pebqQFpwkC5OQ59wBEG9RXggHkt1pYhbm3cFBw8rLWE");
var sh = ss.getSheetByName('Controle de Status');
var lastRow = sh.getLastRow();
var data = sh.getRange(1,50,lastRow,1).getValues();
for (var i=0; i < data.length; i++) {
if (data[i][0] === "Complete") {
MailApp.sendEmail({
name: "XXXX",
to: "email@email.com",
subject: "Action needed - Send codes to Master Data team",
htmlBody: message1
});
}
}
}
解决方案
您想在 getRange() 请求中获取更多数据。在不知道要包含的数据位于哪一列的情况下,很难具体告诉您要做什么,但这会抓取相邻单元格(右侧)中的数据并将其包含在电子邮件正文中。
function completeInfoToExtend() {
var ss = SpreadsheetApp.openById(
"1pebqQFpwkC5OQ59wBEG9RXggHkt1pYhbm3cFBw8rLWE"
);
var sh = ss.getSheetByName("Controle de Status");
var lastRow = sh.getLastRow();
var data = sh.getRange(1, 50, lastRow, 2).getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][0] === "Complete") {
MailApp.sendEmail({
name: "XXXX",
to: "email@email.com",
subject: "Action needed - Send codes to Master Data team",
htmlBody: "<h1>This is the data:<h1><p>" + data[i][1] + "</p>"
});
}
}
}
推荐阅读
- mongodb - 使用 VPC 对等连接跳转到 MongoDB Atlas
- python - discord.py,使用 webhook 在所有通道中发送消息
- juce - JUCE:将 PluckedString 发送到 AudioRecorder
- oauth - 找不到名称为 TokenRelay 的 GatewayFilterFactory
- jquery - 如何让 for 循环完成
- c# - 无法模拟单元测试的 SqlConnection
- eclipse - 如何在 Eclipse 中搜索具有差异 regexp 的 git 提交
- netlogo - 为代理制造瓶颈障碍
- mysql - 在laravel的数据库中存储多项选择和真假
- java - 在 Recycleview 中将数据绑定到布局