首页 > 解决方案 > 将超链接放在单元格中以转到同一工作表的另一张表的脚本

问题描述

我的脚本在工作表中创建了一个新工作表,然后我想在“主页”工作表的单元格中放置一个超链接,指向这个新创建的工作表 这是在单元格中写入链接的片段。它工作正常,但每次单击链接时都会在新选项卡中打开工作表。有没有办法让这个链接指向同一个选项卡中的新工作表?非常感谢

var refSheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName(nomSheet);
var refSheetId = refSheet.getSheetId().toString();
var ssUrl = SpreadsheetApp.getActiveSpreadsheet()
.getUrl()+"#gid="+refSheetId;
var cellLink = ss.getSheetByName("Sorties").getRange(Alast,57);
var richValue = SpreadsheetApp.newRichTextValue()
.setText("Inscriptions")
.setLinkUrl(ssUrl)
.build();
cellLink.setRichTextValue(richValue);

标签: urlhyperlink

解决方案


我用这一行替换了创建 url 的行(省略了电子表格名称),它成功了!var ssUrl = "#gid="+refSheetId;

似乎如果您在单元格的链接中放置一个完整的 url,Sheets 会系统地在新选项卡中打开该链接,就好像它是另一个文件一样,因此您最终会得到同一个(工作)表的多个实例。我发现,如果您省略工作表的名称/ID,并且仅在工作表内使用字符串“#gid”+工作表 ID 建立链接,Sheets 会首先在活动工作表的工作表中查找,如果找到, 用链接的工作表替换活动工作表。希望这可以帮助。


推荐阅读