可以通过用户界面向Google电子表格中的单元格添加“链接”。我想使用Google Apps脚本执行相同的操作。我期待在Range类上有一个方法,但是看不到它。有谁知道怎么做?
答案 0 :(得分:5)
RANGE.setFormula加上HYPERLINK Formula可以为您提供所需内容。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
cell.setFormula('=HYPERLINK("http://www.google.com/","Google")');
答案 1 :(得分:4)
从2020年6月开始,可以选择设置RTF链接URL。现在,您可以执行以下操作:
const sheet = SpreadsheetApp.getActiveSheet();
const rangeToBeLinked = sheet.getRange('A2');
const rangeToAddLink = sheet.getRange('D32')
const richText = SpreadsheetApp.newRichTextValue()
.setText('Click to go to ' + rangeToBeLinked.getA1Notation())
.setLinkUrl('#gid=' + sheet.getSheetId() + '&range=' + 'A' + rangeToBeLinked.getRow())
.build();
rangeTwo.setRichTextValue(richText );
答案 2 :(得分:2)
我今天遇到了这个问题。这是我的解决方案。这是ES6,因此您需要运行新的V8 Engine for Apps脚本。 此功能专门用于选定范围的单元格。
function hyperlink(){
var activeSheet = SpreadsheetApp.getActiveSheet();
var a1 = activeSheet.getSelection().getActiveRange().getA1Notation();
var values = activeSheet.getRange(a1).getValues();
var hyperVal= values.map(row=> row.map(col=> `=HYPERLINK("${col}","${col}")` ));
activeSheet.getRange(a1).setValues(hyperVal);
activeSheet.getRange(a1).setShowHyperlink(true); /* I initially just tried doing this, but without setting the HYPERLINK formula, it did nothing */
}