google-apps-script - 谷歌脚本到电子邮件链接到作为先前脚本的结果保存的工作表
问题描述
我有一个 Google 表单,它已连接到 Google 表格。
一旦新数据到达工作表,我就会设置一个触发器来将文件保存为由特定单元格命名的新文件(TestRange - 下面)。
我想向最近的电子邮件条目发送电子邮件。电子邮件应包含最近保存文件的 URL。
这个想法是,输入表单数据的用户会获得我为他们保存的工作表的特定副本。
这是我的代码:
function myFunction(){
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PQReport").activate();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRange('PQData!C3');
ss.setNamedRange('FileName', range);
var TestRange = ss.getRangeByName('FileName').getValue();
Logger.log(TestRange);
var destFolder = DriveApp.getFolderById("aswwed...askdjksjdffkjdkf");
DriveApp.getFileById(ss.getId()).makeCopy(TestRange, destFolder); '
}
该文件保存为 中的单元格PQData!C3
值destFolder
。我要使用的电子邮件地址是PQData!CV
(第 48 列)的最后一行。如果有办法将最近保存的文件的 URL 保存到第 50 列,然后调用该列以获取电子邮件中的 URL,那将是理想的。
提前感谢您的帮助!
解决方案
问题:
假设您要执行以下操作:
- 从复制的文件中检索 URL
DriveApp.getFileById(ss.getId()).makeCopy(TestRange, destFolder);
。 - 将此 URL 保存到 sheet 的最后一行第 50 列
PQData
。 - 从 sheet 的最后一行第 48 列检索电子邮件地址
PQData
。 - 向此电子邮件地址发送一封电子邮件,其中包含文件的 URL。
解决方案:
- 使用File.getUrl()获取文件的 URL。
- 使用getLastRow()获取工作表中的最后一行。
- 使用getRange(row, column)根据行和列坐标检索单元格(无需使用 A1 表示法)。
- 使用MailApp.sendEmail(recipient, subject, body)发送您的电子邮件,带有
URL
onbody
参数。
function myFunction(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var pqDataSheet = ss.getSheetByName("PQData");
var range = pqDataSheet.getRange('C3');
ss.setNamedRange('FileName', range);
var TestRange = ss.getRangeByName('FileName').getValue();
var destFolder = DriveApp.getFolderById("aswwed...askdjksjdffkjdkf");
var file = DriveApp.getFileById(ss.getId()).makeCopy(TestRange, destFolder);
var url = file.getUrl();
var lastRow = pqDataSheet.getLastRow();
pqDataSheet.getRange(lastRow, 50).setValue(url);
var email = pqDataSheet.getRange(lastRow, 48).getValue(); // Alternatively getRange("AV" + lastRow)
MailApp.sendEmail(email, "MY SUBJECT", url);
}
笔记:
PQData!CV
不是指第 48 列,而是指代AV
。请注意这一点。PQReport
由于您没有在代码中使用它,因此我删除了提及,如有必要,请添加。- 为什么要设置一个命名范围并从该范围中获取一个值,而不是直接从中检索值
C3
?
推荐阅读
- python - 错误“NoneType”对象在 sqlalchemy 中没有属性“twophase”
- c# - Dictionary.ContainsValue 的复杂性是什么?
- r - 在 R 中对多行进行分组过滤
- powerbi - PowerBI Matrix Visual - 用零替换空白(比我想象的要难)
- python - 有没有办法在 Python 中获取表情符号列表
- apache-kafka - Kafka 消息存储在集群/集合中,但不会被消费者检索
- php - PHP FPDF不打印西班牙字母
- angular - 模块“AppModule”声明的意外值“HttpClientModule”。请添加@Pipe/@Directive/@Component 注解
- javascript - 使用 pkg 打包到可执行文件时,Node JS cli 脚本崩溃
- html - CURL:当 HTML 页面有脚本时撰写方法 POST