使用SpreadsheetApp创建同工作簿工作表跳转超链接如何不新开标签页
解决方法
你当前代码触发新标签页打开的原因是使用了表格的完整URL作为跳转地址,谷歌表格对外部完整URL默认会在新标签页打开。要实现同标签页内跳转到同工作簿的其他工作表,仅需把链接地址替换为内部锚点格式#gid=对应工作表ID即可,无需拼接完整的表格URL。
修改后的代码示例:
var refSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(nomSheet); var refSheetId = refSheet.getSheetId().toString(); // 仅使用内部锚点作为跳转地址 var internalLink = "#gid=" + refSheetId; var cellLink = ss.getSheetByName("Sorties").getRange(Alast,57); var richValue = SpreadsheetApp.newRichTextValue() .setText("Inscriptions") .setLinkUrl(internalLink) .build(); cellLink.setRichTextValue(richValue);
补充说明
- 该方案仅适用于同工作簿内的工作表跳转,跨工作簿跳转仍需使用完整URL。
- 如果你需要用单元格函数实现相同效果,可直接写公式
=HYPERLINK("#gid=你的工作表ID","链接文本"),同样支持当前标签页跳转。
内容的提问来源于stack exchange,提问作者Kervoach
相关产品推荐
相关产品推荐

