JavaScript in Google Spreadsheet
-
09-10-2019 - |
Domanda
Sto cercando di scrivere un semplice script per un foglio di calcolo di Google Docs. I due link qui sotto sono uno screenshot dei fogli che sto scrivendo la sceneggiatura di.
Sto ancora imparando come scrivere JavaScript, ma questo è quello che sto cercando di fare. Spero che questo ha un senso. Qualcuno può aiutarmi con questo?
get.sheetbyname "Purchase Orders"
If column E == "stock"
var qty == three cells left of cell e
var partNum == two cells left of cell e
get.sheetbyname "Parts inventory"
loop through column C until you find partNum
var oldQty == number(two cells left of partNum)
add qty to oldQty to get new qty
Soluzione
Avrete sicuramente bisogno di acquisire familiarità con JavaScript in fretta. E 'un linguaggio potente e sembra facile da imparare, ma ha molte differenze da altre popolari, lingue apparentemente correlati (ad esempio Java, C, ecc). Una volta che sei a tuo agio con JavaScript, ti consigliamo di familiarizzare con il foglio di calcolo Google Apps Script Servizi API . Queste API consentono di fogli di calcolo di Google Docs scritto come si farebbe altre applicazioni di fogli di calcolo, come Microsoft Excel. Inizia aprendo la cartella di lavoro e la navigazione a "Strumenti> Script> Script Editor ...", quindi la creazione di un nuovo script chiamato.
Ecco un inizio a ciò che si sta cercando di fare in modo specifico. Sembra che si sta cercando di scoprire quante esistono ordini di acquisto per un certo oggetto e aggiornare la quantità nel foglio di inventario.
function updateInventoryFromPurchaseOrders() {
var purchaseOrders = {}; // A mapping of partNumber => quantity.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Purchase Orders');
if (sheet) {
// For each row, if column "E" == "stock" then set partNumber, quantity.
purchaseOrders[partNumber] = quantity;
}
// Now purchaseOrders should look like {'SL249':5, 'ML50':1, 'MWF':1}
sheet = ss.getSheetByName('Inventory');
if (sheet) {
// For each row, set quantity, partNumber.
var purchased = purchaseOrders[partNumber];
// Set column "A" value = quantity + purchased
}
}
Leggere e scrivere i valori da singole celle si richiede all'utente di utilizzare Ranges , i documenti legati sopra dovrebbe darvi abbastanza esempi per il resto del modo.