将超链接放在单元格中以转到同一工作表的另一张表的脚本

Posted

技术标签:

【中文标题】将超链接放在单元格中以转到同一工作表的另一张表的脚本【英文标题】:script to put a hyperlink in a cell to go to another sheet of same worksheet 【发布时间】:2021-11-21 17:29:45 【问题描述】:

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

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);

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于将超链接放在单元格中以转到同一工作表的另一张表的脚本的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

MAC VBA尝试从每个工作表中剪切一个单元格并粘贴到下一个空单元格中的另一张表中

将整行从一张excel表复制到另一张表的下一个空行

SQL 从多行的另一张表的余额中扣除一个表中的值