【发布时间】:2018-04-03 17:03:20
【问题描述】:
我是 Google 脚本的新手。我想创建一个函数来检查内容是否已正确填写。如果某些列不包含特定单词,或者当列 L 的值为“Y”时它们不包含任何内容,那么它应该相应地显示一条警报消息。如果一切正常,则显示消息“活动信息已正确添加!”
这是我写的脚本:
function Validation() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
for (var i = 0; i < range.length; i++) {
var campaign_live = range.getCell(i, 12).getValue();
var test_type = range.getCell(i, 6).getValue();
if (campaign_live == "Y" && test_type != "Subject" && test_type!= "Sender") {
Browser.msgBox("Wrong Test Type in Column G, please check.", Browser.Buttons.OK_CANCEL);
}
var Template = range.getCell(i, 8).getValue();
if (campaign_live == "Y" && Template != "HTML" && Template!= "TEXT") {
Browser.msgBox("Wrong Template in Column H, please check.", Browser.Buttons.OK_CANCEL);
}
var Sender = range.getCell(i, 9).getValue();
if (campaign_live == "Y" && Sender == "" ) {
Browser.msgBox("Missing Sender in Column I, please check.", Browser.Buttons.OK_CANCEL);
}
var Subject = range.getCell(i, 10).getValue();
if (campaign_live == "Y" && Subject == "" ) {
Browser.msgBox("Missing Subject in Column J, please check.", Browser.Buttons.OK_CANCEL);
}
var Content = range.getCell(i, 11).getValue();
if (campaign_live == "Y" && Content == "" ) {
Browser.msgBox("Missing Content in Column K, please check.", Browser.Buttons.OK_CANCEL);
}
}
Browser.msgBox("Campaign info's been added correctly!");
}
脚本可以执行,但是,无论我在循环中指示的单元格中有什么内容,它都只会显示消息“活动信息已正确添加!”。在我看来,循环部分在此过程中完全被忽略了。
你知道为什么它不起作用吗? 非常感谢您的友好回复。
【问题讨论】:
标签: for-loop if-statement google-apps-script google-sheets