如何获取字符串并将其用作应用程序脚本语法的一部分?
How to get a string and use it as part of the syntax in apps script?
我正在尝试为我们公司的所有用户建立一个 Gmail 数据库,我想通过一段代码获取这些 Gmail 并对它们应用 if 条件以查看它们是否匹配,但我没有成功迄今为止。我不知道是因为我检索到的字符串不能被读取为应用程序脚本语法,还是因为我做错了。这是我的代码:
我像这样将所有需要的 Gmail 放在 1 个单元格 (B3) 中 --->
(用户 == 'abc1@gmail.com')|| (用户 == 'abc2@gmail.com')
//my code
var user = Session.getEffectiveUser();
var mailDB = SpreadsheetApp.openById('Sheet ID').getSheetByName('Sheet Name'); //mails database
var cellcondition = HeadOfficeMailDB.getRange("A3"); // cell with certain value 22
var Gmails = mailDB.getRange("B3").getValue(); //retrieve Gmails in the cell as one whole string
if((Gmails) && (cellcondition == 22))
{
var newcell = HeadOfficeMailDB.getRange("C3").setValue(4);
}
我用 2 个不同的 Gmail 设置了数据库,但是当我 运行 数据库中没有包含第三个 Gmail 的代码时,它仍然 运行 了。它似乎无法将字符串识别为语法,还是我做错了什么?
如果您有任何修复或建议或其他更好的想法来处理此类问题,请不要犹豫,立即向我提供帮助。
下面一行
var cellcondition = HeadOfficeMailDB.getRange("A3");
将 Class 范围对象分配给单元格条件。替换为
var cellcondition = HeadOfficeMailDB.getRange("A3").getValue();
将A3
的值赋值给cellcondition
。
要评估 Sheet Name!B3
((user == 'abc1@gmail.com') || (user == 'abc2@gmail.com')
) 的值,您可以使用 eval() but doing this is an enormous security risk. It's better to store the email address as a list (separated by using a separator like a comma) then use String.prototype.split()
and Array.prototype.index()
or create a Set 对象。
相关
- javascript pass eval variables
我正在尝试为我们公司的所有用户建立一个 Gmail 数据库,我想通过一段代码获取这些 Gmail 并对它们应用 if 条件以查看它们是否匹配,但我没有成功迄今为止。我不知道是因为我检索到的字符串不能被读取为应用程序脚本语法,还是因为我做错了。这是我的代码:
我像这样将所有需要的 Gmail 放在 1 个单元格 (B3) 中 ---> (用户 == 'abc1@gmail.com')|| (用户 == 'abc2@gmail.com')
//my code
var user = Session.getEffectiveUser();
var mailDB = SpreadsheetApp.openById('Sheet ID').getSheetByName('Sheet Name'); //mails database
var cellcondition = HeadOfficeMailDB.getRange("A3"); // cell with certain value 22
var Gmails = mailDB.getRange("B3").getValue(); //retrieve Gmails in the cell as one whole string
if((Gmails) && (cellcondition == 22))
{
var newcell = HeadOfficeMailDB.getRange("C3").setValue(4);
}
我用 2 个不同的 Gmail 设置了数据库,但是当我 运行 数据库中没有包含第三个 Gmail 的代码时,它仍然 运行 了。它似乎无法将字符串识别为语法,还是我做错了什么?
如果您有任何修复或建议或其他更好的想法来处理此类问题,请不要犹豫,立即向我提供帮助。
下面一行
var cellcondition = HeadOfficeMailDB.getRange("A3");
将 Class 范围对象分配给单元格条件。替换为
var cellcondition = HeadOfficeMailDB.getRange("A3").getValue();
将A3
的值赋值给cellcondition
。
要评估 Sheet Name!B3
((user == 'abc1@gmail.com') || (user == 'abc2@gmail.com')
) 的值,您可以使用 eval() but doing this is an enormous security risk. It's better to store the email address as a list (separated by using a separator like a comma) then use String.prototype.split()
and Array.prototype.index()
or create a Set 对象。
相关
- javascript pass eval variables