1

Google ドキュメント スプレッドシートの簡単なスクリプトを作成しようとしています。以下の 2 つのリンクは、スクリプトを書いているシートのスクリーンショットです。

私はまだJavaScriptの書き方を学んでいますが、これが私がやろうとしていることです. これが理にかなっていることを願っています。誰でもこれで私を助けることができますか?

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

</p>

4

1 に答える 1

1

JavaScript にすぐに慣れる必要があります。これは強力な言語であり、簡単に習得できるように見えますが、一見関連性のある他の一般的な言語 (Java、C など) とは多くの違いがあります。JavaScript に慣れたら、Google Apps Script Spreadsheet Services APIに慣れてください。これらの API を使用すると、Microsoft Excel などの他のスプレッドシート アプリケーションと同じように、Google ドキュメントのスプレッドシートをスクリプト化できます。まず、ワークブックを開き、[ツール] > [スクリプト] > [スクリプト エディター...] を参照して、新しい名前付きスクリプトを作成します。

具体的にやろうとしていることの始まりです。あるアイテムの発注書がいくつあるかを調べて、在庫シートの数量を更新しようとしているようです。

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

個々のセルから値を読み書きするには、Rangesを使用する必要があります。上記のリンクのドキュメントには、残りの方法を理解するのに十分な例が示されています。

于 2010-12-13T07:09:45.720 に答える