最近,Google添加了一个功能,您可以在其中超链接到特定的单元格,这很棒.为此,您可以使用特定单元格上的"插入链接"功能,然后从下拉菜单中单击"选择要链接的单元格范围",然后选择您要添加的单元格或范围要链接到.通过这样做,Google生成了一个非常方便(和动态)的十位"范围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'")');
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码创建指向特定单元格的链接,但它不是动态的,并且一旦将行/列插入到工作表中就会中断:
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")');
Run Code Online (Sandbox Code Playgroud)
必须有一种方法来执行类似下面的代码,但我目前找不到办法:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRangeByName("A10");
var rangeID = range.**getRangeID()**;
sheet2.getRange("J10").setFormula('=hyperlink("#rangeID='+rangeID+'","link")');
Run Code Online (Sandbox Code Playgroud)
我知道Google Scripts的可用选项中当前不存在"getRangeID()"; 但是,有什么功能可以实现吗?如果存在这个命令,那将是非常有用的.
有帮助吗?还有另一种方法可以实现这一目标吗?
谢谢你的帮助!
我有一个包含许多命名范围的电子表格,我想要一种目录,它提供了跳转到它们的超链接。
在 UI 中,我可以创建一个指向命名范围的超链接,其最终格式如下:
https://docs.google.com/spreadsheets/d/xxxxx/edit#rangeid=yyyyy
其中 xxxx 是一个长电子表格 ID,yyyy 是一系列数字。
由于我有很多这些链接,我想使用 Google Apps 脚本以编程方式生成所有这些链接。我可以使用Spreadsheet.getRangeByName找到命名范围对象,但我找不到从中获取 rangeid 的方法。
我正在尝试以一种可以使用'= MATCH()“函数进行复制的方式将超链接插入到单元格中。但是,我似乎无法找到一种无需使用GID即可链接Google表格中单元格的方法。
当我右键单击并“获取到此单元格的链接”时,我得到的URL末尾带有“#gid = 1933185132”。但是,它没有结构,我不能将其与MATCH公式一起使用,也不能像在Excel中通常那样自动填充它。
https://docs.google.com/spreadsheets/d/sheetkey/edit#gid=1933185132
但是,如果这具有像这样的单元格引用
https://docs.google.com/spreadsheets/d/sheetkey/edit#Sheet1!C12
我可以轻松地为MATCH函数重新创建它。
问题:是否有一种替代方法,可以像上面显示的那样链接单元格?如果不能,我可以使用公式提取“ Sheet1!C12”的GID吗?
我已尽我所能搜索了Google论坛和堆栈溢出,并且我看到的唯一解决方案似乎是使用带有“ var sheet”的脚本,而我对0编码知识一无所知。
这应该是一件非常简单的事情,但是我找不到出路。任何对此问题的见解都将受到赞赏。非常感谢你。
hyperlink google-sheets google-apps-script array-formulas google-sheets-formula