我已经从Google云端硬盘创建了一个独立的应用脚本,但是当我尝试从Google电子表格访问它时,我看不到访问该脚本的方法(即使我创建脚本时,我将其创建为电子表格脚本).
在电子表格中,"工具 - >脚本管理器..."菜单项不显示我的脚本,"工具 - >脚本编辑器......"也没有显示.后者有一个"最近项目"的部分,但它没有列出我新创建的脚本,也没有列出其相关项目.
如果我从电子表格内部创建一个新脚本(即.Tools-> Script editor ...)并从独立脚本中剪切并粘贴代码,它就可以正常工作.但是,这只能在单个电子表格中使用 - 要从另一个电子表格中使用它,我必须再次剪切和粘贴/再次通过身份验证.
有没有办法在不将图片发布到图库的情况下执行此操作,我认为将其公开(我没有问题将其公开,但似乎必须有更好的方法)?脚本在这里 - 它是世界可读的链接.它为google电子表格添加了一个菜单,允许您在BigQuery中运行查询并将结果转储到电子表格中.
您描述的行为正是它的工作方式...您编写的脚本只有在绑定到电子表格时才能工作.
您在独立脚本中编写它的事实使它确实是一个独立的应用程序,但它只能在脚本编辑器中执行,并且在此上下文中,onOpen
您编写的函数没有意义(它在打开文档时运行) /电子表格,而不是脚本).
目前,脚本只能通过复制/粘贴代码绑定到电子表格,至少是您要使用的脚本(使用菜单和直接函数调用以及activeSheet调用),也许有一天Google会扩展库的概念,使您的脚本功能可以直接从不同的文档中获取(另请参阅有关库的文档).
实际上有两种类型的独立应用程序脚本,您尝试过的仅在编辑器中运行的应用程序脚本以及在浏览器窗口中自行部署和运行的Web应用程序.后者总是围绕一个doGet
代表应用程序入口点的函数构建.您应该阅读有关该主题的文档以获取所有详细信息.
总结一下:如果你想使用getActiveSpreadsheet(
)和类似的方法访问你的电子表格,那么你必须在脚本编辑器中编写(或粘贴)脚本到电子表格.
如果您想要一个独立的脚本,您也可以与电子表格(以及其他文档)进行交互,但您必须通过他们的ID访问它们,电子表格只能从另一个浏览器窗口查看,而不需要它们之间的链接,并且不是"活动电子表格"也不是"活动表"......
Webapp当然也可以通过用户界面的优势来实现,您可以根据自己的需求进行调整,但这与您的问题范围相差甚远.
希望我(有点)更清楚,至少我试图让它变得简单;-)