相关疑难解决方法(0)

Google Script setValue权限

我正在尝试为google docs电子表格中的单元格设置一些值.

function exampleFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range1 = sheet.getRange("A1");
  var value1 = range1.getValue();
  value1+=1;
  range1.setValue(2);
  return value1;
}
Run Code Online (Sandbox Code Playgroud)

如果我试图影响具有此功能的单元格,则会出现此错误:

您没有setValue所需的权限.(第10行,文件"ddd")

你知道我怎么能做到这一点吗?我实际上希望受影响的单元格获取单元格A1的值并增加A1 +1的值.

谢谢

permissions google-sheets google-apps-script custom-function

17
推荐指数
2
解决办法
3万
查看次数

MailApp.sendEmail错误消息 - "无权调用sendEmail"

当我在电子表格中更改某些内容时,onEdit()触发器会运行,我可以看到我放入代码中的所有msgbox.

我的功能在此行停止

MailApp.sendEmail(emailAddress, subject, message);
Run Code Online (Sandbox Code Playgroud)

我从未看到"电子邮件已发送!"消息,并在执行转录中出错:

您无权调用sendEmail

如果我直接在脚本编辑器中运行脚本,一切正常......

这是我的代码:

function onEdit() {
      var sheet = SpreadsheetApp.getActiveSheet();
      var sheetname = sheet.getName()
      var AcCellRange = sheet.getActiveCell()
      var AcCol = AcCellRange.getColumn()
      var AcRow = AcCellRange.getRow()

      if (sheetname=="Questions/Réponses") {
        //Browser.msgBox(AcCol+' / '+AcRow)
       //liste d'instructions
        //Boucle si les colonne sont comprise dans le range
        if ((AcCol==3) || ((AcCol==7))){
          //Browser.msgBox(AcCol)
          if (AcRow > 7){
            //Browser.msgBox(AcRow)
            sendEmails()
          }
        }
      }
      else
      {}
    }    
function sendEmails() {
      Browser.msgBox('SendEmails')
      var spreadsheet = SpreadsheetApp.getActive();
      var sheet = spreadsheet.getSheetByName('ListCourriel'); …
Run Code Online (Sandbox Code Playgroud)

permissions google-sheets google-apps-script

8
推荐指数
1
解决办法
5744
查看次数

Google-apps-script不会在onEdit函数中发送电子邮件

我有一个脚本,可以在编辑电子表格时发送电子邮件.该脚本运行,但MailApp语句不起作用.

这是执行日志:

[15-01-27 14:15:17:951 EST] SpreadsheetApp.getActiveSpreadsheet()[0秒] [15-01-27 14:15:17:951 EST] Spreadsheet.getActiveRange()[0秒] [15 -01-27 14:15:17:952 EST] Range.getRow()[0秒] [15-01-27 14:15:17:952 EST] Range.getLastRow()[0秒] [15-01] -27 14:15:17:952 EST] Range.getColumn()[0秒] [15-01-27 14:15:17:952 EST] Range.getLastColumn()[0秒] [15-01-27 14:15:17:955 EST]开始执行[15-01-27 14:15:17:969 EST] Logger.log([{"range":{"rowStart":79,"rowEnd":79," columnEnd":6,"columnStart":6},"source":{},"value":"Xxxx","user":{}},[]])[0秒] [15-01-27 14 :15:17:969 EST] SpreadsheetApp.getActiveSpreadsheet()[0秒] [15-01-27 14:15:18:058 EST] Spreadsheet.getSheets()[0.088秒] [15-01-27 14:15:18:145 EST] Spreadsheet.getSheets()[0.086秒] [15-01-27 14:15:18:145 EST] Logger.log([Customer row = 79,[]])[0秒] [15-01-27 14:15:18:145 EST] Sheet.getRange([79,6])[0秒] [15-01-27 14:15:18 :233 EST] Sheet.getDataRange()[0.087秒] [15-01-27 14:15:18:324 EST] Range.getValues()[0.091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]

我在其他脚本上使用了mailApp.sendEmail,效果很好.这是附加到电子表格/表单的第二个脚本,第一个脚本还从formSubmit发送电子邮件.我已经允许所有触发器和权限.

任何帮助赞赏下面的代码:

function …
Run Code Online (Sandbox Code Playgroud)

javascript email triggers google-sheets google-apps-script

1
推荐指数
1
解决办法
4119
查看次数