簡體   English   中英

如果單元格被編輯,則插入超鏈接

[英]Insert hyperlink if a cell is edited

我有一個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值中的任何值(區分大小寫)時,才會創建腳本超鏈接。

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 + '")')
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM