Почему активная ячейка не открывается при открытии этого кода в Google Sheets? - PullRequest
0 голосов
/ 14 апреля 2020

Привет, программисты Google Sheets и Apps Script - я прочитал каждую ветку, посвященную настройке фокуса на определенной ячейке в событии открытия Google Sheet, и не могу сфокусироваться на A1. Мне нужна активная ячейка, чтобы быть B3, а не A1. Например, в функции onOpen я попробовал эти различные операторы, и ни один из них не работает:

ss.sheet("MySubShop").setActiveCell(range("B3"));
MySubShop.setActiveCell(range("B3"));
mySubShop.getRange("B3").activate();
mySubShop.getRange("B3").setActiveCell();
firstcell.activate(); //where firstcell is var firstcell = mySubShop.getRangeByName("cashiername");

Вот некоторые переменные вверху:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var mySubShop  = ss.getSheetByName("MySubShop"); //my main order form

Я знаком с VBA, но новым для ГАЗА. Любая помощь будет принята с благодарностью. Большое спасибо.

Вот полный код приложения:

//MAKE VARIABLES
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange("B3");
var values = range.getValues();      

var mySubShop  = ss.getSheetByName("MySubShop"); //my main order form
var orders = ss.getSheetByName("Orders"); //Order data
var breads = ss.getSheetByName("Breads");
var meats = ss.getSheetByName("Meats");
var cheeses = ss.getSheetByName("Cheeses");
var condiments = ss.getSheetByName("Condiments");
var sides = ss.getSheetByName("Sides");
var beverages = ss.getSheetByName("Beverages");

//YOU CAN GET VALUES OF CELLS AND SET VARS = TO THEM
var lastrow = orders.getLastRow();
var thecolumn = 1;

//WHEN THE SHEET OPENS
function onOpen() {

  if (lastrow==1) {

    var ordernum = 1;

    mySubShop.getRange("B5").setValue(ordernum);     
  } 
  else if (lastrow > 1) {

    ordernum = orders.getRange(lastrow, thecolumn).getValue()+1;
    mySubShop.getRange("B5").setValue(ordernum);
  }

  return ordernum;

  mySubShop.getRange("B3").activate();
}


function submitData() {
  var newordernum = onOpen(); 

  //Get the order info
  var ordersvalues = [[mySubShop.getRange("B5").getValue(), 
                       mySubShop.getRange("B4").getValue(), 
                       mySubShop.getRange("B3").getValue(),
                       mySubShop.getRange("B2").getValue()]];

  orders.getRange(orders.getLastRow()+1, 1, 1, 4).setValues(ordersvalues);

  //increase the order number ready for the next order
  mySubShop.getRange("B5").setValue(newordernum+1);
  //call the clearMe function
  clearMe();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...