【发布时间】:2019-09-06 15:20:40
【问题描述】:
我有一个作为 WebApp 发布的 Google Apps 脚本。在脚本中,我希望能够选择活动工作表并获取工作表名称。
例如,我有一个包含两个选项卡的电子表格:Tab1 和 Tab2。我目前正在 UI 中查看 Tab2。
当我运行以下代码时,我期望 thisSheet = "Tab2"。相反,它始终等于“Tab1”。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var thisSheet = sheet.getName();
请记住,我不知道工作表的名称是什么。我意识到这是从 Web 应用程序运行的上下文问题,因为当我从 ScriptEditor 中运行该函数时,它会按预期执行。从网络应用程序执行此代码时是否有任何解决方法?
【问题讨论】:
-
您能否阐明为什么需要在已部署的 Web 应用程序的上下文中访问电子表格?了解访问 Web 应用程序时的预期行为将有助于我们思考解决方案
-
我正在提取选项卡名称以插入来自 webapp 的 API 调用。有用吗?
-
George,您能否提供有关如何触发流程的信息 - 它是
onOpen()/onEdit()触发器等吗?基本上,在什么情况下调用getActiveSpreadsheet()? -
getActiveSpreadsheet() 从 doGet 调用。从 onOpen 或 onEdit 调用它会有所不同吗?
-
仍然没有解释为什么是网络应用程序?试试侧边栏或模式对话框怎么样?
标签: javascript google-apps-script google-sheets web-applications