2010-12-06 8 views
2

これはGoogleスプレッドシート用のスクリプトです。それはコードの最後の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ブロックにすることになっていますか?最後の部分のすぐ上に配置してみることができます}

私はGoogleスプレッドシートに慣れていないので、これは私にとっては完全な推測です。ちょうどその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 
      }); 
     } 
    } 

} 

を多分これまで