在 Google Apps 脚本中激活工作表不起作用

问题描述 投票:0回答:2

我创建了一个“绑定到电子表格”的 Google Apps 脚本。当用户单击 Sheet1 中的特定单元格时,我尝试以编程方式将活动工作表更改为 Sheet2。 从文档来看,这应该很简单;有一个名为

activate()

的 Sheet 方法。但是,通过触发器调用此函数不会更改活动工作表 - Sheet1 保持焦点。其他函数如 hideSheet()showSheet() 可以立即工作,但不是 activate()

知道我可能做错了什么吗?我是否错误地使用了这个功能?

编辑

: 这是我正在使用的代码: // I want to make my "Accounts" sheet the active sheet function onSelectionChange(event) { const ss = SpreadsheetApp.getActiveSpreadsheet() const sheet = ss.getSheetByName("Accounts") sheet.activate() // I tried flushing, waiting, and trying again; still doesn't work SpreadsheetApp.flush() Utilities.sleep(2000) sheet.activate() // However, hiding or showing the sheet works immediately: sheet.hideSheet() }

有趣的是,在故障排除期间,我有两次重新打开电子表格,并且相同的代码
神秘地开始工作

;但是,在 Chrome 中刷新页面后,activate() 功能再次停止工作。这让我怀疑这是否可能是一个 Apps 脚本错误。

    

google-apps-script google-sheets triggers
2个回答
0
投票

function activateasheet() { const ss = SpreadsheetApp.getActive(); ss.getSheetByName("Sheet1").activate(); SpreadsheetApp.flush(); Utilities.sleep(5000); ss.getSheetByName("Sheet2").activate() }



0
投票
类似问题的票证

。我向该线程添加了一条评论来描述我的问题。 @NattyP,你有解决过这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.