首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改e.range.getA1Notation()以接受Google脚本中更广泛的输入

修改e.range.getA1Notation()以接受Google脚本中更广泛的输入
EN

Stack Overflow用户
提问于 2022-05-25 04:18:06
回答 2查看 176关注 0票数 0

当更新另一个单元格(C6)时,我使用Google脚本用一个单元格(C6)值更新活动表的名称。目前,当I16更新并按预期重命名工作表时,脚本工作正常。

但是,我希望输入的范围要大得多,比如A:J类的范围,或者至少A1:J 104。我怎样才能做到这一点?

我也读过this thread,但是我不知道如何提取特定于这个场景的信息。

我使用的脚本如下:

代码语言:javascript
复制
function onEdit(e) {

if(e.range.getA1Notation() !== 'I16') return;

var s = e.source.getActiveSheet();

s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().setName(s.getRange('C6').getValue());

}

如能提供任何协助,将不胜感激。提前谢谢你!

编辑:使用脚本,会发生以下情况:

  1. 在编辑单元格I16时,单元格C6的内容通过公式更改。例如,当我在单元格I16中输入"002“时,单元格C6更新为”报表-002“,等等。
  2. 同时提取单元格C6中的字符串,并相应地更新当前工作表的名称(即该工作表现在被命名为"Report-002”)。

该脚本在此特定场景中运行良好。但是,我想在更新更广泛的单元格时触发脚本,不仅仅是单元格I16。理想情况下,如果我更新了工作表中的任何单元格,我希望脚本能够运行。

这对澄清我想要达到的目标有帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-25 07:18:03

试一试

代码语言:javascript
复制
function onEdit(e) {
  e.source.getActiveSheet().setName(e.source.getActiveSheet().getRange('C6').getValue());
}
票数 0
EN

Stack Overflow用户

发布于 2022-05-25 08:49:13

更改if条件以说明界限:

代码语言:javascript
复制
const [/*actual row*/ar, ac] = ['rangeStart','columnStart'].map(s => e.range[s])
const [/*row start*/rs, re, cs, ce] = [1,2,3,4];//C1:D2
if(ar >= rs && ar <= re && ac >= cs && ac <= ce){
// do stuff
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72371912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档