【问题标题】:Multiple hyperlinks for table of Contents目录的多个超链接
【发布时间】:2019-07-10 09:52:25
【问题描述】:

我需要在我的 google 电子表格上创建一个目录,但我有很多工作表(超过 300 个),因此单独链接每个工作表需要很长时间,我如何使用 google 应用程序脚本为目录创建超链接

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    试试这个。我们首先遍历电子表格中的所有工作表。这里的技巧是在工作表中使用函数getSheetId 返回gid 而不是电子表格ID,因此我们只需将其放在超链接的末尾即可。

    只需将单元格 A 更改为 .getRange 函数中所需的单元格:

    function main(){
    
      var spreadsheet = SpreadsheetApp.getActive();
      var ss = spreadsheet.getSheets();
      var spsheetID = spreadsheet.getId();
    
      for (var i = 0; i < ss.length; i++){
    
           var ss_gid = ss[i].getSheetId();
    
           ss[0].getRange("A"+(i+1)).setFormulaR1C1('=HYPERLINK("https://docs.google.com/spreadsheets/d/'+spsheetID+'#gid='+ss_gid+'")');
    
    
      }
    
    }
    

    【讨论】:

    • 如果我没记错的话,这是一个宏,不能用作自定义函数。因此,每次插入新工作表时都需要运行宏。请参阅How to add a table of contents to Google Sheets,了解通过自定义函数解决的相同问题。
    • 我从未使用过宏。该脚本获取所有表格(根据 OP 超过 300 个),并在第一个表格中为所有表格创建 URL。 OP 从未提到他想为每个新工作表运行这个,它们已经存在。运行这个函数一次就足以满足他的要求。
    • 你是怎么用的?
    • 与您的链接问题类似。转到Tools &gt; Script Editor,复制并粘贴代码并运行该函数。要在每次插入新工作表时运行它,您应该使用Instalalble Trigger onChange,但要修改我的代码。
    • 我明白了。您可以通过在脚本编辑器中选择函数并单击“运行”来运行它。这与使用Tools › Macros › Import 然后从Tools › Macros 运行它是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多