首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用脚本在Google Sheets中生成range ID超链接#rangeID=XXXXXXXXXX?

如何使用脚本在Google Sheets中生成range ID超链接#rangeID=XXXXXXXXXX?
EN

Stack Overflow用户
提问于 2018-04-13 04:29:34
回答 2查看 6.4K关注 0票数 14

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

它看起来像这样:=HYPERLINK("#rangeid=1234567890","link")

然而,我不明白的是,如何使用脚本创建它。

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

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

代码语言:javascript
运行
复制
var ss = SpreadsheetApp.getActive(); 
var sheet1 = ss.getSheetByName(name); 
var gid = sheet.getSheetId();
sheet2.getRange("A1").setFormula('=hyperlink("#gid='+gid+'","'name'")');

我可以使用下面的代码来创建到特定单元格的链接,但它不是动态的,一旦将行/列插入到工作表中就会断开:

代码语言:javascript
运行
复制
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")');

必须有一种方法来完成下面的代码,但目前我找不到一种方法:

代码语言:javascript
运行
复制
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRangeByName("A10");
var rangeID = range.**getRangeID()**;
sheet2.getRange("J10").setFormula('=hyperlink("#rangeID='+rangeID+'","link")');

我知道getRangeID()目前在Google Apps脚本的可用选项中不存在;然而,有什么东西可以实现这个功能吗?如果这个命令存在,那将是非常有帮助的。

外面有什么帮助吗?有没有其他方法来完成我错过的这件事?

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2019-11-13 06:33:09

您可以使用相对url。链接文档中的答案可以在这里找到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,您可以在该工作表的url中找到它。

例如:

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

票数 2
EN

Stack Overflow用户

发布于 2018-04-13 08:49:01

这是named ranges的一个完美用例,它不需要对脚本逻辑进行任何更改。

代码语言:javascript
运行
复制
var range = ss.getRangeByName("NamedRange1");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49805385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档