我有一个系统,用户在google表单上输入信息,appscript将信息放在日历上。
我很想知道是否有可能让appscript检查所输入的信息是否与其他电子表格中的任何内容相匹配(即:被禁止的信息黑名单)
我想我可以做类似的事情:
var name = sheet.getRange(lr,name,1,1).getValue();
var ban = SpreadsheetApp.openById('ID of another sheet').getValue();
if (name == ban){
return;
};
但显然我错了,它不起作用。
我认为我要做的事情有两个问题:
1.从另一张纸上获取值的代码不起作用
2.来自另一个工作表的值不是单个值,而是列中的多个名称,因此我无法比较变量名称和禁止(或者不能将值写入单个变量)
我记得我看到一些代码可以在一个变量中保存多个值,我认为它看起来像
var ban=i,i++;
或这些行中的某些内容,但我输入的内容似乎不正确,因为它不起作用。
我想知道如何从另一个电子表格中获取值并将多个值写入单个变量。
我道歉,如果我在代码中犯了一些愚蠢的错误,我实际上并不知道如何编码,我只是谷歌搜索和混合我在网上找到的代码。
感谢
答案 0 :(得分:3)
首先,我猜你已经定义了这样的变量表:
var sheet = SpreadsheetApp.openById("ID of sheet where the data is stored").getSheetByName("Name");
下一步是定义变量禁止,如下所示:
var ban = SpreadsheetApp.openById("ID of another sheet").getSheetByName("Name").getDataRange().getValues();
现在检查信息匹配与否的部分。
var count=0;
for(var i=0;i<ban.length;i++)
{
if(name==ban[i])
{
count++;
}
}
if(count!=0)
{
Logger.log("Match found");
}
要在运行代码时检查代码的输出,您需要按CTRL + ENTER ...这将打开日志,如果您发现日志为&#34;匹配找到&#34; ...它意味着代码是正确的......否则可能会有其他错误...可能是存储禁止值的电子表格的数据格式。