Google Apps脚本:在公式中使用Var?

时间:2016-09-10 06:03:52

标签: google-apps-script google-sheets

我正在尝试为工作表创建Google脚本,以便最终用户可以从另一个电子表格的工作表中导入电子邮件地址列表。每个用户在此电子表格上都有自己的工作表,并以自己的地址命名。因此,user1在此电子表格上有一个工作表user1@example.com,而用户二有自己的工作表,依此类推。

我可以使用Session.getActiveUser()。getEmail()来给我他们的电子邮件地址,但是我无法找到一种方法将其用作IMPORTRANGE中的变量。

有可能这样做吗?如果没有,是否可以通过另一种方法获得相同的结果,例如使用电子邮件var指向工作表并将地址存储在数组中,然后将其写入目标工作表?

这里是脚本的相关片段以供参考。请注意,我使用sheetlink替换了google工作表的URL,并且说了"" useremail!A1:A100""是我希望使用useremail var来填充getEmail()的结果。

function importlist() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = 'Blacklist';
var useremail = Session.getActiveUser().getEmail();

if (ss.getSheetByName(sheetname) == null) {
    ss.insertSheet(sheetname);
    ss.getSheetByName(sheetname).getRange("A1").setFormula('=IMPORTRANGE("sheetlink","useremail!A1:A100")');
} else {
    ss.getSheetByName(sheetname).getRange("A1").setFormula('=IMPORTRANGE("sheetlink","useremail!A1:A100")');
    ss.getSheetByName(sheetname).activate()
};

1 个答案:

答案 0 :(得分:0)

您无法直接在字符串中使用变量的名称。它将被视为字面上的那个词。你有一个带有变量的组合字符串,如下所示:

IMPORTRANGE("sheetlink", useremail + "!A1:A100")