更新时间:2023-02-13 18:10:06
我可以确认您的情况.在这种情况下,似乎可以从RichTextValue
对象检索超链接.即,我认为规范已更改为使用RichTextValue
给文本提供超链接.
因此,作为一个示例案例,它假定如下.
X
的文本放在单元格"A1"中.https://www.google.com
的URL.在这种情况下,单元格没有=HYPERLINK("https://www.google.com","X")
.从这种情况下检索URL的示例脚本如下.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var url = sheet.getRange("A1").getRichTextValue().getLinkUrl();
console.log(url);
在当前阶段,可以将多个超链接添加到一个单元格中的文本中.例如,当在单元格中的文本中添加2个URL时,您可以使用以下示例脚本.在此示例中,将url1, url2
文本放入单元格"A1",并且url1
和url2
与每个链接链接.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var RichTextValue = SpreadsheetApp.newRichTextValue()
.setText("url1, url2")
.setLinkUrl(0, 4, "https://url1/")
.setLinkUrl(6, 10, "https://url2/")
.build();
sheet.getRange("A1").setRichTextValue(RichTextValue);
从一个单元格中的文本中检索到多个URL时,您可以使用以下示例脚本.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var range = sheet.getRange("A1");
var RichTextValue = range.getRichTextValue().getRuns();
var res = RichTextValue.reduce((ar, e) => {
var url = e.getLinkUrl();
if (url) ar.push(url);
return ar;
}, []);
console.log(res);
通过 2020年6月12日上的更新, getLinkUrl()
和解决方案