javascript - Google Apps 脚本 - 尝试使用 getUrl。类型错误 : Cannot find function getUrl in object Sheet

标签 javascript google-apps-script google-sheets

我正在尝试编辑 Google 的预制应用脚本,该脚本可从电子表格发送电子邮件。

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

TypeError: Cannot find function getUrl in object Sheet. (line 17, file "Code")

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对象上,因此需要从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。类型错误 : Cannot find function getUrl in object Sheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903342/

相关文章:

javascript - 有什么方法可以在 Google 表单上设置默认选择吗?

google-apps-script - 从电子表格中的列动态更新 Google 表单 'Choose from list' 选项

javascript - 提交表单时出现 400 错误,但谷歌表格中仍收到信息

post - 有没有办法使用 Google Charts API 的 POST 方法通过 Google Apps Script 获取二维码图像?

javascript - Google Sheets - 在列中生成段落的脚本

javascript - 停止在for循环中执行ajax

javascript - 有没有办法将 Google 电子表格保存为数据库中的 blob,然后在应用程序脚本期间将该 blob 作为电子表格打开

javascript - 强制 Backbone fetch 总是使用 POST

javascript - 将库 (Plyr) 与指令和 AngularJS 一起使用

javascript - 使用 KaTeX 时,为什么在头部放一个 &lt;script&gt;,在主体后放一个?