gpt4 book ai didi

javascript - 如果编辑单元格则插入超链接

转载 作者:行者123 更新时间:2023-11-28 07:00:15 25 4
gpt4 key购买 nike

我有一个 Google 表格,每当有人更新单元格时,我想使用 onEdit(e) 函数执行两件事:

1) 检查单元格是否包含特定文本,以及
2)如果它包含所述文本,则添加一个指向所述单元格的超链接,并具有相同的短语/内容。

因此,如果我在单元格 A1 中输入“Yahoo”,我希望该单元格更新为“Yahoo”,并带有指向我在脚本中拥有的任何网站的超链接。

我不太确定该去哪里......

function onEdit(e){
// If the cell contains 'Yahoo", link it to the Google Search Results page for "Yahoo"
var cellval = e.value
if(cellval.match("Yahoo")!=null) value.setFormula('=HYPERLINK("//www.google.com/?gws_rd=ssl#q="+"Yahoo", "Yahoo")')
}

有类似的东西吗?我尝试以 onEdit(e) 简单触发器示例作为基础(如下),但有些东西没有加起来:

function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}

编辑:我可以在编辑后更新单元格,但我希望它在单元格包含某些文本时专门更新,而不仅仅是基于整个工作表。

最佳答案

尝试这样的事情:

function onEdit(e) {
var sheet = e.source.getActiveSheet();
if (sheet.getName() !== 'Sheet1' || !e.value) return;
e.range.setFormula('=HYPERLINK("//www.google.com/?gws_rd=ssl#q=+' + e.value + '", "' + e.value + '")')
}

在上面的示例中,我“限制”脚本仅在名为“Sheet1”的工作表上工作,因为我可以想象您不希望在任何地方都进行这种转换?如果需要,您可以进一步将其限制为特定列或特定范围。

编辑:仅转换某些文本(参见 var 值)在下面的脚本中,仅当输入 var value 中的任何值(区分大小写)时才会创建超链接。

function onEdit(e) {
var sheet = e.source.getActiveSheet();
var values = ['Google', 'Yahoo', 'Microsoft', 'Apple']
if (sheet.getName() !== 'Sheet1' || values.indexOf(e.value) == -1) return;
e.range.setFormula('=HYPERLINK("//www.google.com/?gws_rd=ssl#q=+' + e.value + '", "' + e.value + '")')
}

关于javascript - 如果编辑单元格则插入超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com