如何在Google表格应用脚本中创建范围的超链接?

Dav*_*uer 4 hyperlink google-sheets google-apps-script

我正在尝试使用Google表格应用程序脚本中的范围的超链接填充单元格,如果我在GUI中完成它,我将获得相同的预期结果.我设法以"gid = ..."的形式创建表格的超链接,其中...是一个sheetID.但我很难获得在GUI中生成超链接时使用的rangeID,例如

HYPERLINK("#rangeid=1420762593";"'List 4'!F2:F15") 
Run Code Online (Sandbox Code Playgroud)

是否可以在应用程序脚本中创建指向范围的超链接?

Bri*_*ian 6

是的,您可以在App Script中执行此操作.这是一个非常简单的实现,其中HYPERLINK构建函数并将其附加到单元格:

function hyperlinkRange() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName("Sheet1");
  var sheet2 = ss.getSheetByName("Sheet2").getSheetId();

  sheet1.getRange("A1").setValue('=hyperlink("#gid='+sheet2+'&range='+sheet1.getRange('A1:A10').getA1Notation()+'", "Click to jump to Sheet 2")');
}
Run Code Online (Sandbox Code Playgroud)

您可以将此与循环结合使用以设置跨多个工作表的链接值.