对不起,如果我在我的代码中犯了一个非常基本的错误(是的,我知道这很杂乱/很长,我上个月刚刚开始这个东西)。我的目标是在绑定到脚本的工作表上插入图像。运行时,我的一名实验室技术人员或司机将能够记录或查看案例。有三个可能的工作表。教练,恩里克或交付。当他们选择时,它会询问要查找的号码(即GDL4256或L849)。一旦在“Enrique's”表或“Coach's”表中找到了该号码,它将跳过所需的单元格,以根据按钮状态是YES还是“在实验室”或“途中”没有。 (如第36行所示,其中c可以是“c + 4”或“c + 5”)我的问题是,当我运行脚本时,它似乎从未真正将软插入值与数组中的数据进行比较。我希望我能在这里找到问题,但在调试器中找不到它。有任何想法吗? (是的,我是一个pleb,但我认为我迄今没有问题......)Google Spreadsheet for looper无法正确检查数组?
我已经省略了大约9/10的代码,因为它大部分是重复的,而且我仍然在寻找使其更小的方法,我只需要先了解这个问题。
function Enrique(){
stat = 0;
var ui = SpreadsheetApp.getUi();
var response = ui.alert('Case Entry', 'Is this case being logged into the lab?', ui.ButtonSet.YES_NO); //Must answer "Yes". Script will end otherwise.
if (response == ui.Button.YES) {
//User said yes, logging into the lab
var sh = SpreadsheetApp.getActiveSpreadsheet();
var ss = sh.getActiveSheet();
var cell = ss.getActiveCell();
var ui = SpreadsheetApp.getUi();
//Getting case number, not case sensitive
var response = ui.prompt('Case Entry', 'What is the case number?', ui.ButtonSet.OK);
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheetNumber = sheets.length;
var currentSheet = ss.getIndex();//-1
//Make array
Logger.log(currentSheet);
SpreadsheetApp.setActiveSheet(sheets[currentSheet]);
cell = sheets[currentSheet].getRange(1,1);
var activeR = cell.getRow()-1;
var activeC = cell.getColumn()-1;
var data = sheets[currentSheet].getDataRange().getValues();
var step = 0;
//loop through data on sheet
var r = activeR;
var c = activeC;
var d = data[0].length;
for(;r<d;++r){
for(;c<d;++c){
step++;
Logger.log('sheet : '+currentSheet+' step:'+step+' response.getResponseText() '+response.getResponseText()+' = '+data[r][c]);
if(data[r][c]==''||(step==1&¤tSheet==currentSheet)){ continue };
if(response.getResponseText().toString().toLowerCase()==data[r][c].toString().toLowerCase()){
sheets[currentSheet].getRange(r+1,c+4).activate().setValue("Yes").setBackgroundRGB(0,255,0);
Browser.msgBox("The case has been logged into the lab on the sheet 'Enrique'");
stat = 1;
return
}
}
}
if(stat === 0)
{
Browser.msgBox("The code failed somewhere...");
}
}
}