getactiverange在不同的工作表应用程序脚本上

时间:2012-11-19 10:13:27

标签: google-apps-script

我正在开发一个包含多个工作表的电子表格,我也是应用程序脚本和脚本的新手。我想知道是否有可能使脚本或其中的一部分仅在一个特定的工作表上工作,而不是在所有工作表上工作。

以下是代码:

function setppl() {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName('START');


 var eventRange = sheet.getActiveRange();
 // var eventRange = SpreadsheetApp.getActiveRange(); it works as i need but it does it 
 on all of the sheets, not just 'START
 var eventColumn = eventRange.getLastColumn();
 var eventRow = eventRange.getLastRow();
 var currvalue = eventRange.getValue();
 var email = Session.getActiveUser().getEmail();

 if (eventColumn == 3) { ....

我的猜测是,这种方式没有活动范围。

1 个答案:

答案 0 :(得分:1)

当你致电sheet.getActiveRange()时,它会按照它所说的去做,即它会以某种方式获取你正在访问的范围。这将覆盖您使用ss.getSheetByName('START')进行的工作表选择。

您可以简单地通过其值(行,列,高度,宽度或A1表示法)来定义范围,或者使工作表“START”处于活动状态以强制显示器显示此工作表(但它不会阻止用户去另一张表。)