foo*_*iey 1 google-sheets google-apps-script
我想这个问题与我当前的问题最相似。但基本上,我有一个谷歌表格文件,底部有几张表格。我希望用户在他们当时打开的任何工作表上执行此脚本。
就像根据本文档所说的上一个问题一样,活动工作表是电子表格 UI 中显示的工作表。我认为这意味着如果我在另一个选项卡中打开谷歌工作表文件,则当前选择和我可以查看的工作表将成为活动工作表。
但是,返回的实际活动工作表始终是底部选项卡最左侧的工作表。我已经通过切换工作表的顺序来确认这一点。因此,无论我实际上在 UI 中打开并可见哪个工作表,它总是会获取最左边的工作表。这是获取它的行。
var Sheet = SpreadsheetApp.openById("redactedid").getActiveSheet()
Run Code Online (Sandbox Code Playgroud)
这是应用程序脚本的已知错误吗?或者文档有误?如果是,是否有解决方法可以获取 UI 中当前打开的工作表?我不希望任何人必须在代码中对工作表名称进行硬编码,因为文件不断变化并且不断添加工作表。
要使用getActiveSheet()
或任何活动对象,调用
active
. 例如,要获得活动范围,您应该首先获得活动电子表格=>活动工作表=>活动范围(活动对象链)。如果任何调用不是针对活动对象的(例如,如果您在中间步骤中使用getSheetByName()
而不是getActiveSheet()
),则最终调用可能会默认为默认对象(第一张表 A1)。Spreadsheet
,请使用SpreadsheetApp.getActive()
代替SpreadsheetApp.openById()
,这样它将getActiveSheet()
位于活动对象链下。const sheet = SpreadsheetApp.getActive().getActiveSheet();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2200 次 |
最近记录: |