我有一张包含多张表的Google电子表格。我想在其中一个工作表中启动一个脚本,该工作表读取/写入其他工作表中的值而不激活其他工作表。我发现如果在脚本操作期间将其他工作表设置为活动状态,则会向用户显示其他工作表。有没有办法在不改变显示的情况下对其他工作表执行操作?
我正在为您提供该功能的相关部分。我想在电子表格中的几张纸上读取和写入值,而不显示切换到这些纸张。
/*** Calculate the ROI for each sheet ***/
function calcRoi(sheetNumber) {
var total = 0;
var cellLocation = "";
var rowValue = 0;
var cellValue = 0;
var count = 0;
var tempCellValue = 0;
var roi = 0;
var ss = SpreadsheetApp.getActiveSpreadsheet();
activeSheet = ss.setActiveSheet(ss.getSheets()[sheetNumber]);
答案 0 :(得分:1)
不要使用
activeSheet = ss.setActiveSheet(ss.getSheets()[sheetNumber]);
改为使用
var sheets = ss.getSheets();
sheets[sheetNumber].getRange("Range Here").getValue();
sheets[sheetNumber].getRange("Range Here").setValue("Value");
只有当您想要在屏幕上显示该范围时,才需要设置激活范围。