我无法在脚本中更改范围和顺序

时间:2018-03-05 23:26:39

标签: google-apps-script

我有一个用于跟踪广告资源的脚本,我需要为库存供应添加5个列,并更改订单。更具体地说,我需要在所有其他用品之后提供T恤尺寸和数量列。有人可以协助吗?如果您需要查看表格,请告诉我。

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Macros')
      .addItem('commit', 'invntry')
      .addToUi();
}
function invntry() {
  var ss,s1,s2,items,stock,i;
  ss=SpreadsheetApp.getActiveSpreadsheet();
  s1=ss.getSheetByName("Data");
  s2=ss.getSheetByName("Charlotte Inventory");
  items=s1.getDataRange().offset(1,8).getValues().map(function(x) {return x.slice(0,11);});//added one column
  items.pop();
  stock=s2.getDataRange().getValues().map(function(x) {return x[1];});//Inventory is now colB
  for (i in items) {
    if (items[i][10]!="yes") {

      switch (items[i][0]) {
        case 'S':
          stock[1]-=items[i][1];
          break;
        case 'M':
          stock[2]-=items[i][1];
          break;
        case 'L':
          stock[3]-=items[i][1];
          break;
        case 'XL':
          stock[4]-=items[i][1];
          break;
        case '2L':
          stock[5]-=items[i][1];
          break;
        case '3L':
          stock[6]-=items[i][1];
          break;
        case '4L':
          stock[7]-=items[i][1];
          break;
        default:
          break;
      }
      for (var j=8; j<16; j++) stock[j]-=items[i][j-6];//now through row 15
      items[i][10]='yes';//10th element
    }
  }
  s2.getRange(1, 2, stock.length).setValues(stock.map(function(x) {return [x];}));//col B
  s1.getRange(2, 19, items.length).setValues(items.map(function(x) {return [x[10]];}));//col R; 11th element
}

0 个答案:

没有答案