假设我的电子表格中有A1
格式的=HYPERLINK("http://google.com/abc","Google")
,我想创建一个自定义的Google Apps脚本(例如:=GetURL(A1)
)返回该字段的url部分。我要怎么做才能让它正常工作呢?
每当我像这样创建自定义脚本时
function GetURL(input) {
return input
}
所有我得到的是链接的描述,在这个例子中是"Google“。
有没有办法让这件事真正起作用?
发布于 2021-04-02 06:25:44
这是一个老问题,但我现在有个问题。
事实证明,当您使用电子表格web应用程序在单元格中添加文本的超链接时,文本将获得富文本值。(另请参阅如何通过应用程序脚本设置richt文本值的here )。
因此,range.getFormula();
将什么也得不到,因为单元格中没有公式。
您可以使用以下命令提取绑定到富文本的链接:
var value = range.getRichTextValue().getLinkUrl()
适用于getRichTextValue和getLinkUrl的文档
发布于 2016-07-27 02:11:57
function getUrl(input) {
var range = SpreadsheetApp.getActiveSpreadsheet().getRange(input);
var value = range.getFormula();
return value;
}
这将获得原始公式=HYPERLINK("http://google.com/abc","Google"
,然后您可以正则表达式或子字符串输出该URL。
为了让它正常工作,我确实必须将ss引用放在引号中,比如=getUrl("A1")
和A1。
https://stackoverflow.com/questions/38601718
复制相似问题