google-apps-script - 如何使用脚本在 Google 表格中生成范围 ID 超链接 #rangeID=XXXXXXXXXX?

标签 google-apps-script google-sheets

所以最近,谷歌添加了可以超链接到特定单元格的功能,这很棒。为此,您可以在特定单元格上使用“插入链接”功能,然后从下拉菜单中单击“选择要链接的单元格范围”,然后选择您想要的单元格或范围链接到。这样做时,Google 会生成一个非常方便(且动态)的十位数“Range ID”。

它看起来像这样:=HYPERLINK("#rangeid=1234567890","link")
但是,我无法弄清楚如何使用脚本创建它。

这个功能不存在对我来说似乎很奇怪,因为它可以手动完成。

我可以使用以下代码生成工作表 ID,这在创建超链接以在页面之间跳转时非常方便:

var ss = SpreadsheetApp.getActive(); 
var sheet1 = ss.getSheetByName(name); 
var gid = sheet.getSheetId();
sheet2.getRange("A1").setFormula('=hyperlink("#gid='+gid+'","'name'")');

我可以使用以下代码创建指向特定单元格的链接,但它不是动态的,并且一旦将行/列插入到工作表中就会中断:
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var range = ss.getRangeByName("A10");
var sheetID = range.getSheet().getSheetId();
var rangeCode = range.getA1Notation();
sheet2.getRange("J10").setFormula('=hyperlink("https://docs.google.com/spreadsheets/d/'+ss.getId()+'/edit#gid='+sheetID+'&range='+rangeCode+'","link")');

必须有一种方法可以执行以下代码,但目前我找不到方法:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRangeByName("A10");
var rangeID = range.**getRangeID()**;
sheet2.getRange("J10").setFormula('=hyperlink("#rangeID='+rangeID+'","link")');

我知道 getRangeID() 目前不存在于 Google Apps Script 的可用选项中;然而,有什么东西可以完成这个功能吗?如果此命令存在,那将非常有用。

有什么帮助吗?有没有另一种方法可以实现我所缺少的?

谢谢你的帮助!

最佳答案

您可以使用相对网址。链接文档中的答案可以在这里找到 https://webapps.stackexchange.com/questions/44473/link-to-a-cell-in-a-google-sheets-via-url .

例子:
=hyperlink("#gid=0&range=A2",Bookmarks!A2)
我认为 #gid=0 代表第一张纸。然后我可以在工作表中指定范围。我无法让命名工作表工作。除了第一个工作表/标签之外,其他人都有一个#gid,您可以在该工作表的网址中找到它。

前任:
=hyperlink("#gid=1756281106&range=A2",Bookmarks!A2)

关于google-apps-script - 如何使用脚本在 Google 表格中生成范围 ID 超链接 #rangeID=XXXXXXXXXX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49805385/

相关文章:

google-sheets - 谷歌表格: How to count cells in range that contain a formula (not literal)

google-sheets - 自动将复制的 Google 电子表格与原始电子表格同步

google-sheets - (Google sheets) 从 url inject 查询并返回多个表

javascript - 显示前一天的 Google Apps 脚本

android - 在 Android 中使用 API 4 按名称查找 Google Drive Sheet

google-apps-script - scriptdb 对于用户的作用域是什么?

javascript - Google (Apps) 脚本中的数组元素分配

google-apps-script - 如何处理 Google Sheet 中的所有命名范围?

javascript - 将特定颜色的每个选项卡移至单独的工作簿

javascript - 循环遍历 Google App 脚本并设置多个不连续的值