【问题标题】:Google Sheets - How to jump to today's date when opening a table (via share link)Google 表格 - 打开表格时如何跳转到今天的日期(通过共享链接)
【发布时间】:2021-04-25 21:24:43
【问题描述】:

感谢您的精彩帖子!

我正在寻找在 Google 表格中打开表格后会自动跳转到当前日期的代码(通过共享链接)。如果我已登录,您的代码(见下文)效果很好。当我创建共享链接(有或没有编辑权限)时,代码不起作用。我尝试了使用不同浏览器(Chrome、Edge、Firefox)的链接...可能是什么问题?

    function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getActiveSheet();
  var data = sh.getDataRange().getValues();
  var today = new Date().setHours(0,0,0,0);
  for(var n=0;n<data[0].length;n++){
    var date = new Date(data[0][n]).setHours(0,0,0,0);
    if(date==today){break};
  }
  n++;
  sh.getRange(1,n).activate();
}

亲切的问候

这里是您的代码的链接: How to set background color for a row based on current date in Google Docs Spreadsheet?

【问题讨论】:

    标签: date google-sheets


    【解决方案1】:

    onOpen(e) 函数是一个 simple trigger,仅当使用键盘的用户登录到他们的 Google 帐户并拥有对电子表格的编辑权限时才会运行。

    当以只读模式打开文件时,onOpen(e)、onEdit(e) 和 onSelectionChange(e) 的简单触发器将不运行。其他类型的脚本也是如此。换句话说,如果您以“可以查看”或“可以评论”的身份共享文件,则不会提供任何脚本或插件。

    要使其正常工作,您必须将电子表格文件共享为“可以编辑”。请注意,您仍然可以通过数据>受保护的工作表和范围来保护电子表格。

    请参阅jumpToToday_ 脚本,了解支持同一电子表格文件中的多个工作表的替代方案。

    【讨论】:

      【解决方案2】:

      很遗憾,这对您不起作用。默认情况下,所有未签名的用户(以及未授权脚本的已登录用户)都受到电子表格中可能包含的“有害”脚本的保护。默认情况下,所有脚本都被视为“有害”,包括您的 onOpen 脚本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多