2010-12-13 4 views
1

Я пытаюсь написать простой скрипт для электронной таблицы Документов Google. Ниже приведены две ссылки: скриншот листов, на которые я пишу сценарий.Javascript в Google Spreadsheet

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

+0

Yi Jiang, Как вы получили эти фотографии, чтобы автоматически показывать? – David

ответ

1

Вам обязательно нужно ознакомиться с JavaScript быстро. Это мощный язык и кажется легким для восприятия, но имеет множество отличий от других популярных, казалось бы, связанных языков (например, Java, C и т. Д.). Как только вам станет комфортно с JavaScript, вы захотите ознакомиться с Google Apps Script Spreadsheet Services APIs. Эти API-интерфейсы позволяют создавать сценарии таблиц Google Docs, как и другие приложения для работы с электронными таблицами, например 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 
    } 
} 

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