2010-12-13 9 views
1

J'essaie d'écrire un script simple pour une feuille de calcul Google Docs. Les deux liens ci-dessous sont une capture d'écran des feuilles pour lesquelles je suis en train d'écrire le script. Je suis encore en train d'apprendre à écrire du JavaScript, mais c'est ce que j'essaie de faire. J'espère que cela a du sens. Est-ce que quelqu'un peut m'aider avec ça?Javascript dans Google Spreadsheet

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 

+0

Yi Jiang, Comment avez-vous obtenu ces images pour montrer automatiquement? – David

Répondre

1

Vous aurez certainement besoin de se familiariser avec JavaScript rapidement. C'est un langage puissant et semble facile à comprendre, mais présente de nombreuses différences par rapport à d'autres langages apparemment apparentés (par exemple Java, C, etc.). Une fois que vous êtes à l'aise avec JavaScript, vous voudrez vous familiariser avec le Google Apps Script Spreadsheet Services APIs. Ces API vous permettent de scripter des feuilles de calcul Google Docs comme vous le feriez pour d'autres applications de feuille de calcul, telles que Microsoft Excel. Commencez par ouvrir votre classeur et naviguez jusqu'à "Outils> Scripts> Script Editor ...", puis créez un nouveau script nommé.

Voici un début de ce que vous essayez de faire spécifiquement. Il semble que vous essayez de déterminer le nombre de commandes d'achat pour un article et que vous mettez à jour la quantité dans la feuille d'inventaire.

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 
    } 
} 

Lecture et écriture des valeurs de cellules individuelles vous demandera d'utiliser Ranges, les documents liés ci-dessus devrait vous donner suffisamment d'exemples pour vous le reste du chemin.

Questions connexes