gpt4 book ai didi

google-apps-script - 将焦点返回到电子表格

转载 作者:行者123 更新时间:2023-12-02 03:42:36 24 4
gpt4 key购买 nike

我正在运行一些链接到我的 Google 电子表格上的按钮的 Google 脚本。单击按钮运行脚本后,即使仍在查看电子表格并且所选单元格仍然可见,电子表格窗口上的焦点也会丢失。我必须单击窗 Eloquent 能返回焦点。

这听起来像是一个与 the one asked by robodog21 非常相似的问题. Ed Nelson 的解决方案涉及带有执行 HTML 命令 google.script.host.editor.focus() 的按钮的边栏,效果很好,但我真的不想涉及边栏。如果可能的话,我宁愿坚持使用我现有的按钮。它们作为 Google 绘图插入到电子表格中,然后链接到适当的 Javascript 函数。

正如 robodog21 所指出的,我对 Javascript 和 HTML 也很陌生。我在 Google Apps 脚本中找到了以下帮助:

Moving browser focus in G Suite

To switch focus in the user's browser from a dialog or sidebar back to the Google Docs, Sheets, or Forms editor, simply call the method google.script.host.editor.focus(). This method is particularly useful in combination with the Document service methods Document.setCursor(position) and Document.setSelection(range).

但是由于我对 HTML 的了解有限,我还没有想出如何实现它。

我无法在 Stack Overflow 中找到专门与 Google Apps 脚本相关的解决方案,并且(还!)还不知道如何修改其他解决方案(例如 this)以满足我的需求。如果有人能阐明如何将解决方案应用于我的情况,我将不胜感激。

最佳答案

在阅读了 Rubén 的回答并放弃使用侧边栏后,我继续玩弄我的脚本并意识到将焦点返回到电子表格所需要做的只是打开和关闭侧边栏。最小的 HTML 似乎是:

<html>
<body onload="google.script.host.close()">
</body>
</html>

这是在 JS 函数中调用的:

function sidebarCreator() {
var html = HtmlService.createHtmlOutputFromFile('Page');
SpreadsheetApp.getUi()
.showSidebar(html)
}

我意识到这个实现有点困惑,因为它会拉出一个我实际上并不想要的侧边栏,然后立即将其关闭。然而,它完成了我想要的,不需要对我现有的按钮和功能进行其他更改,所以我很高兴。如果有人知道实现此结果的更好方法,请告诉我。感谢 Rubén 为我指明了正确的方向!

关于google-apps-script - 将焦点返回到电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48063915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com