2010-12-06 44 views
2

这是一个我有一个谷歌电子表格的脚本。除了最后两行代码之外,它都可以工作。我不确定在哪里放置它们。我知道他们是正确的,只是不在正确的位置,我猜?Javascript代码的放置

function doStuff() { 
    var ss = SpreadsheetApp.getActiveSheet(); 

    var starting_row = 2; // starting row to scan for part# on column C 

    // outer loop, loop over products sold 
    for (var j=6;j<=16;j++) { 
    var r = ss.getRange(j,2); 
    // read inventory part number entered 
    var partnum = r.getValue(); 
    if (!partnum) { 
     continue; // attempt to skip over empty rows in the B6:B16 range 
    } 
    var partcount = parseInt(ss.getRange(j,1).getValue()); 
    if (isNaN(partcount) || partcount<=0) { 
     // invalid quantity. skip. 
     continue; 
    } 

// Browser.msgBox("partnum = "+partnum); 

    // get list of known part # from the spreadsheet 
    var parts = ss.getRange(starting_row,3,9999,1).getValues(); 
    var found = false; 
    for (var i=0,l=parts.length;i<l;++i) { 
     if (parts[i]==partnum) { 
     // we have found our part. grab inventory count cell. 
     found = true; 
     var count = ss.getRange(starting_row+i,1).getValue(); 
     if (count-partcount<0) { 
      Browser.msgBox("Error: Inventory for part "+partnum+", is "+count); 
     } else { 
      // write back the count number for that part, decremented by 1. 
      ss.getRange(starting_row+i,1).setValue(count-partcount); 
//   Browser.msgBox("Inventory updated."); 
     } 
     break; // either way, we're done with that part. 
     } 
    } 
    if (!found) { 
     Browser.msgBox("Part# "+partnum+" not found."); 

**//I'm not sure where to place these next two lines. Everything else works but them. The code is correct just not the placement.   
SpreadsheetApp.getActiveSpreadsheet().toast("Hello", "world?", 3); 
SpreadsheetApp.getActiveSheet().getRange(6, 1, 10, 1).clear({contentsOnly:true});** 
    } 
    } 

} 

回答

1

他们是否应该在if块?可以尝试把它们放在最后的}

我不熟悉谷歌电子表格,所以这是我的一个完整的猜测。只是似乎没权在if块......

从这个:

 if (!found) { 
      Browser.msgBox("Part# " + partnum + " not found."); 
      SpreadsheetApp.getActiveSpreadsheet().toast("Hello", "world?", 3); 
      SpreadsheetApp.getActiveSheet().getRange(6, 1, 10, 1).clear({ 
       contentsOnly: true 
      }); 
     } 
    } 

} 

到也许这:

 if (!found) { 
      Browser.msgBox("Part# " + partnum + " not found."); 

     } 
    } 
    SpreadsheetApp.getActiveSpreadsheet().toast("Hello", "world?", 3); 
    SpreadsheetApp.getActiveSheet().getRange(6, 1, 10, 1).clear({ 
     contentsOnly: true 
    }); 
}