Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 调用SpreadsheetApp.OpenById()的权限_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 调用SpreadsheetApp.OpenById()的权限

Google apps script 调用SpreadsheetApp.OpenById()的权限,google-apps-script,google-sheets,Google Apps Script,Google Sheets,问题是,我需要阅读外部电子表格中的注释,所以最近我搜索并找到了这个anwser:但它不适用于外部电子表格,我尝试了很多方法,但都无效,有人能帮我吗 表A-示例 表B-获取值(导入)-请求 表B-获取值(导入)-返回 工作表B-获取注释(自定义脚本)-请求失败 文件规定: 电子表格 只读(可以使用大多数get*()方法,但不能使用set*())。 无法打开其他电子表格(SpreadsheetApp.openById()或 SpreadsheetApp.openByUrl()) 不幸的是,您

问题是,我需要阅读外部电子表格中的注释,所以最近我搜索并找到了这个anwser:但它不适用于外部电子表格,我尝试了很多方法,但都无效,有人能帮我吗

表A-示例

表B-获取值(导入)-请求

表B-获取值(导入)-返回

工作表B-获取注释(自定义脚本)-请求失败

文件规定:

电子表格
只读(可以使用大多数get*()方法,但不能使用set*())。
无法打开其他电子表格(SpreadsheetApp.openById()或 SpreadsheetApp.openByUrl())

不幸的是,您需要想出另一个解决方案 可能的解决办法是

  • 从应用程序脚本编辑器运行脚本,其中
  • 将脚本作为自定义宏导入

  • 创建一个按钮并单击它
在任何情况下,您都需要稍微重写脚本

  • 您需要使用该方法将注释设置到所选单元格(例如活动单元格),而不是
    return
示例脚本

函数callMe(){
var activeCell=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveCell();
var cellWithNotes=“A4”;
var id=“在此处粘贴电子表格id”;
var note=getNote(cellWithNotes,id);
activeCell.setValue(注);
}
函数getNote(单元格、令牌)
{
var ss=SpreadsheetApp.openById(令牌)
变量范围=ss.getRange(单元格)
返回范围:getNote();
}
  • 手动或以上述其他方式运行函数
    callMe()
  • 不必硬编码
    cellReference
    id
    ,您可以动态检索它们,例如从表中检索,具体取决于您的情况
指定:

电子表格
只读(可以使用大多数get*()方法,但不能使用set*())。
无法打开其他电子表格(SpreadsheetApp.openById()或 SpreadsheetApp.openByUrl())

不幸的是,您需要想出另一个解决方案 可能的解决办法是

  • 从应用程序脚本编辑器运行脚本,其中
  • 将脚本作为自定义宏导入

  • 创建一个按钮并单击它
在任何情况下,您都需要稍微重写脚本

  • 您需要使用该方法将注释设置到所选单元格(例如活动单元格),而不是
    return
示例脚本

函数callMe(){
var activeCell=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveCell();
var cellWithNotes=“A4”;
var id=“在此处粘贴电子表格id”;
var note=getNote(cellWithNotes,id);
activeCell.setValue(注);
}
函数getNote(单元格、令牌)
{
var ss=SpreadsheetApp.openById(令牌)
变量范围=ss.getRange(单元格)
返回范围:getNote();
}
  • 手动或以上述其他方式运行函数
    callMe()
  • 不必硬编码
    cellReference
    id
    ,您可以动态检索它们,例如从表中检索,具体取决于您的情况

谢谢兄弟!成功了!我真的很感谢你的帮助@卢卡斯·费尔南多,请阅读谢谢兄弟!成功了!我真的很感谢你的帮助@卢卡斯·费尔南多,请阅读这篇文章是否回答了你的问题?这回答了你的问题吗?
function getNote2(cell, token)
{
   var ss = SpreadsheetApp.openById(token)
   var range = ss.getRange(cell)
   return range.getNote();
}