我正在尝试编辑Google的预制应用程序脚本,该脚本可从电子表格发送电子邮件。
我添加了一个新变量currentp
来抓取脚本发送的电子邮件中电子表格的URL。当我尝试运行此脚本时,出现以下错误:
TypeError:在对象Sheet中找不到函数getUrl。 (第17行,文件“代码”)
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 3)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0];
var message = row[1];
var currentp = sheet.getUrl() //current spreadsheet page
var emailSent = row[2];
if (emailSent != EMAIL_SENT) {
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message,currentp); // I would like the URL to be included in the email.
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
最佳答案
GetActiveSheet()返回Sheet对象,该对象是Spreadsheet文件中的“标签”。 getUrl()方法仅存在于Spreadsheet File对象上,因此您需要与Sheet分开获取Spreadsheet。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
然后获取URL:
var currentp = spreadsheet.getUrl();
看到:
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
https://developers.google.com/apps-script/reference/spreadsheet/sheet
关于javascript - Google Apps脚本-尝试使用getUrl。 TypeError:在对象表中找不到函数getUrl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28903342/