Привет, программисты 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();
}