Javascript в Google Таблице

Я пытаюсь написать простой скрипт для электронной таблицы Google Docs. Две ссылки ниже — это скриншоты листов, для которых я пишу сценарий.

Я все еще учусь писать 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


person David    schedule 13.12.2010    source источник
comment
Йи Цзян, как вы заставили эти картинки автоматически отображаться?   -  person David    schedule 13.12.2010


Ответы (1)


Вам обязательно нужно быстро ознакомиться с JavaScript. Это мощный язык, и кажется, что его легко освоить, но он имеет много отличий от других популярных, казалось бы, родственных языков (например, Java, C и т. д.). Когда вы освоитесь с JavaScript, вы захотите ознакомиться с таблицей сценариев Google Apps. API сервисов. Эти API позволяют создавать сценарии для электронных таблиц Документов Google так же, как и для других приложений для работы с электронными таблицами, таких как Microsoft Excel. Начните с открытия рабочей книги и перехода к «Инструменты > Скрипты > Редактор скриптов...», а затем создайте новый именованный скрипт.

Вот начало того, что вы пытаетесь сделать конкретно. Похоже, вы пытаетесь узнать, сколько существует заказов на покупку какого-либо товара, и обновить количество в инвентарной ведомости.

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

Для чтения и записи значений из отдельных ячеек вам потребуется использовать диапазоны, документы ссылка выше должна дать вам достаточно примеров, чтобы вы могли пройти оставшуюся часть пути.

person maerics    schedule 13.12.2010