首页 > 解决方案 > 在单元格 Google 表格上显示注释的简单功能

问题描述

(更新以消除早期愚蠢的错误!)

我正在尝试编写一个简单的函数来允许单元格带有标题,然后在便笺中包含其他信息,如下所示:

例子

我目前的代码是:

function TEXTNOTE(celltext, notetext){
   setNote(notetext);
   return celltext;
   }

这会返回一个错误,因为 setNote 没有定义 - 所以我假设我需要 [something].setNote - 但是 [something] 应该是什么?

标签: google-apps-scriptgoogle-sheetscustom-function

解决方案


解释:

我了解您想使用自定义功能。但是,有以下限制:

setValue()setNote()是需要用户授权的函数,即不能在自定义函数中调用它们 (参见参考资料)。

解决方案:

  1. 您可以单击感兴趣的单元格,然后执行以下功能:

    function TEXTNOTE(){
    
    const celltext = "Cell title";
    const notetext = "Note text" ;
    const sheet = SpreadsheetApp.getActive().getActiveSheet();
    const cc = sheet.getCurrentCell();
    cc.setNote(notetext);
    sheet.getRange(cc.getA1Notation()).setValue(celltext);}
    
  2. 如果您想在脚本中指定单元格(比如说 A1)并且您不想点击它,那么您可以运行以下命令:

    function TEXTNOTE(){
    
    const celltext = "Cell title";
    const notetext = "Note text" ;
    const sheet = SpreadsheetApp.getActive().getActiveSheet();
    const cc = sheet.getRange('A1');
    cc.setNote(notetext);
    cc.setValue(celltext);}
    

旁注:

  • 您可以通过单击脚本编辑器中的播放按钮来执行上述功能,也可以创建自定义侧边栏菜单,允许您从电子表格文件中执行功能。

  • 如果要迭代地执行此任务,则需要提供标题注释列表并运行循环以将此操作应用于每个单元格。如果您想从脚本中检索 和 的值,celltextnotetext必须创建两个专用列来提供此信息。

例子:

例子

参考:

官方文档

与大多数其他类型的 Apps 脚本不同,自定义函数从不要求用户授权访问个人数据。因此,他们只能调用无法访问个人数据的服务。


推荐阅读