谷歌应用程序脚本-正在尝试使用getUrl.TypeError:在对象工作表中找不到函数getUrl

Google Apps Script - Trying to use getUrl. TypeError: Cannot find function getUrl in object Sheet

本文关键字:getUrl 对象 TypeError 工作 函数 找不到 脚本 应用程序 谷歌      更新时间:2023-09-26

我正在尝试编辑谷歌的预制应用程序脚本,该脚本通过电子表格发送电子邮件。

我添加了一个新的变量currentp来抓取。在脚本发送的电子邮件中包括电子表格的URL。当我尝试运行这个脚本时,我收到以下错误:

TypeError:在对象工作表中找不到函数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对象,它是电子表格文件中的一个"选项卡"。getUrl()方法只存在于Spreadsheet File对象上,因此需要将Spreadsheed与Sheet分开获取。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();

然后获取URL:

var currentp = spreadsheet.getUrl();

请参阅:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheethttps://developers.google.com/apps-script/reference/spreadsheet/sheet