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