📅  最后修改于: 2023-12-03 15:07:20.572000             🧑  作者: Mango
在单元格应用程序脚本中,我们可以通过 RichText URL 功能,实现在单元格内添加链接跳转。下面来介绍一下该功能的使用方法。
首先,我们需要设置单元格文本。在设置文本时,需要使用到富文本格式。
// 假设我们要设置的文本为 "点击跳转"
var richTextValue = SpreadsheetApp.newRichTextValue()
.setText("点击")
.setText("跳转")
.build();
// 将文本设置到单元格 A1 中
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1").setRichTextValue(richTextValue);
在设置文本时,我们可以使用 .setLinkUrl(url)
方法来为其中的某个文本添加链接。
// 假设我们要为文本 "跳转" 添加链接
var richTextValue = SpreadsheetApp.newRichTextValue()
.setText("点击")
.setText("跳转").setLinkUrl("https://www.google.com")
.build();
// 将文本设置到单元格 A1 中
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1").setRichTextValue(richTextValue);
如果我们需要修改已有文本的链接,可以使用 .getRichTextValue().getRuns()
方法获取每一个文本,进而使用 .setLinkUrl()
方法修改链接。
// 获取单元格 A1 中的文本
var sheet = SpreadsheetApp.getActiveSheet();
var richTextValue = sheet.getRange("A1").getRichTextValue();
// 遍历文本中的每一个部分
var runs = richTextValue.getRuns();
for (var i = 0; i < runs.length; ++i) {
var run = runs[i];
// 如果该部分的文本为 "跳转",则将其链接修改为新链接
if (run.getText() == "跳转") {
run.setLinkUrl("https://www.bing.com");
}
}
// 更新单元格中的文本
sheet.getRange("A1").setRichTextValue(richTextValue);
当在单元格文本中添加链接时,文本中的每一个部分都可以设置链接。但是,如果整个文本都设置了链接,那么它们的链接在一起的时候可能会产生问题,因为链接的终点和起点会相互干扰。因此,最好只在文本中的一些部分添加链接。
如果只需要为整个单元格添加一个链接,而不是游离的链接,可以使用 .setFormula()
方法为单元格设置 HYPERLINK
公式。