如何通过Google Apps Script获取各工作表的选定单元格?
获取Google Sheets中指定工作表的选定单元格
要获取Sheet1和Sheet2各自的选中单元格,可以通过Google Apps Script的Sheet.getSelection()方法实现,该方法能获取对应工作表的选中状态,无论它是否是当前激活的标签页。
实现代码
function getSelectedCells() { const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 定位目标工作表 const sheet1 = activeSpreadsheet.getSheetByName("Sheet1"); const sheet2 = activeSpreadsheet.getSheetByName("Sheet2"); // 获取每个工作表的选中对象 const selectionSheet1 = sheet1.getSelection(); const selectionSheet2 = sheet2.getSelection(); // 提取选中的单个单元格 const selectedCellSheet1 = selectionSheet1?.getActiveCell(); const selectedCellSheet2 = selectionSheet2?.getActiveCell(); // 输出结果(可根据需求调整逻辑) if (selectedCellSheet1) { Logger.log(`Sheet1 选中单元格:${selectedCellSheet1.getA1Notation()}`); } else { Logger.log("Sheet1 无选中单元格"); } if (selectedCellSheet2) { Logger.log(`Sheet2 选中单元格:${selectedCellSheet2.getA1Notation()}`); } else { Logger.log("Sheet2 无选中单元格"); } // 返回选中单元格的A1表示法(可选) return { Sheet1: selectedCellSheet1 ? selectedCellSheet1.getA1Notation() : null, Sheet2: selectedCellSheet2 ? selectedCellSheet2.getA1Notation() : null }; }
关键说明
getSelection():返回对应工作表的选中状态对象,即使该工作表未处于激活状态也能获取其选中信息getActiveCell():获取选中区域中处于活动状态的单个单元格(若选中多个单元格,返回的是选中区域的首个或最后点击的单元格)- 若需要获取整个选中区域(而非单个单元格),可替换为
getActiveRange()方法,该方法返回完整的选中范围对象
内容的提问来源于stack exchange,提问作者vstepaniuk
相关产品推荐
相关产品推荐

