Domanda

Questo è uno script che ho per un foglio di calcolo di Google. Funziona tutto tranne le ultime due righe di codice. Io non sono sicuro dove metterli al lavoro. So che sono corrette, non solo nel posto giusto immagino ??

 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});**  
    }
  }

}

È stato utile?

Soluzione

Sono dovrebbero essere in quel blocco if? Potrebbe provare collocandoli proprio sopra l'ultima }

Non ho dimestichezza con Google foglio di calcolo quindi questa è una supposizione completa da parte mia. Basta che non mi sembrava giusto essere in quel blocco if ...

da questo:

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

}

a forse questo:

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

        }
    }
    SpreadsheetApp.getActiveSpreadsheet().toast("Hello", "world?", 3);
    SpreadsheetApp.getActiveSheet().getRange(6, 1, 10, 1).clear({
        contentsOnly: true
    });
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top