如何按位置或日期标题定位Google Sheet工作表?
定位Google Sheet工作表的两种方法
一、按固定位置定位
你的工作表始终处于第二个位置,在Google Apps Script中,工作表的索引从0开始计数,因此第二个工作表的索引是1。可以通过以下代码直接定位:
// 获取当前Spreadsheet实例 const ss = SpreadsheetApp.getActiveSpreadsheet(); // 定位第二个位置的工作表(索引为1) const targetSheet = ss.getSheets()[1];
调用getSheets()会返回当前表格中所有工作表的数组,直接通过索引[1]即可取出第二个位置的工作表,无需依赖名称。
二、按当日日期匹配工作表名称
如果要基于'28 May - 2024'格式的日期名称定位,需要先生成与工作表名称一致的日期字符串,再通过名称匹配:
步骤1:生成指定格式的日期字符串
使用Utilities.formatDate()生成符合要求的日期格式,注意设置正确的时区(示例中使用GMT+8,可根据你的实际时区调整):
const today = new Date(); // 生成 "日 月份缩写 - 年份" 格式的字符串 const targetDateName = Utilities.formatDate(today, "GMT+8", "dd MMM - yyyy");
步骤2:通过名称定位工作表
直接使用getSheetByName()方法匹配:
const ss = SpreadsheetApp.getActiveSpreadsheet(); const targetSheet = ss.getSheetByName(targetDateName);
如果担心存在名称匹配失败的情况(比如格式差异),也可以遍历所有工作表逐一匹配:
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheets = ss.getSheets(); let targetSheet; for (let sheet of sheets) { if (sheet.getName() === targetDateName) { targetSheet = sheet; break; } }
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

