从单元格中检索值以在Google Script中使用它



我想在Google App-script中定义一个基于引用单元格值的动态函数。

function funcname() {
var selection = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
var html = "<script>window.open('LINK URL');google.script.host.close();</script>";
var userInterface = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModalDialog(userInterface, 'LINK NAME');
};

因此,在上面的代码中,我希望将特定工作表的单元格A1引用为"LINK NAME",将B1引用为实际的LINK URL。这个函数是自定义菜单的一部分,所以我想看看我们是否可以动态地检索基于单元格的值,因为我继续用'LINK NAME'和'LINK URLs'填充a和B列

任何接近这个的东西也应该帮助我尝试一些实验。

参考硬编码单元格:

function funcname() {
//var selection = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
if(SpreadsheetApp.getActiveSheet().getSheetName() != "Sheet5") return;
var cellA1 = SpreadsheetApp.getActiveSheet().getRange('A1').getValue();
var cellB1 = SpreadsheetApp.getActiveSheet().getRange('B1').getValue();
var html = "<script>window.open('"+cellB1+"');google.script.host.close();</script>";
var userInterface = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModalDialog(userInterface, cellA1);
};

根据活动单元格的行从列A和B中获取值(即在输入更多数据时动态检索单元格值):

function funcname() {
if(SpreadsheetApp.getActiveSheet().getSheetName() != "Sheet5") return;
var row = SpreadsheetApp.getActiveSheet().getActiveCell().getRow();
var cellAx = SpreadsheetApp.getActiveSheet().getRange(row, 1).getValue();
var cellBx = SpreadsheetApp.getActiveSheet().getRange(row, 2).getValue();
var html = "<script>window.open('"+cellBx+"');google.script.host.close();</script>";
var userInterface = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModalDialog(userInterface, cellAx);
};

对于这个脚本,您只需要确保您的活动单元格位于您希望从中获取链接URL和NAME的行内。

最新更新