如何在Google Apps Script中打开同文件夹下指定名称的Google表格
仅通过名称打开同文件夹下的Google表格(Apps Script)
要实现仅靠名称打开同文件夹下的另一Google表格,核心思路是先定位当前表格所在的文件夹,再在该文件夹内搜索目标名称的表格。具体代码和说明如下:
最简实现代码
function openSameFolderSpreadsheet(targetName) { // 获取当前脚本绑定的Google表格 const currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 获取当前表格所在的父文件夹(取第一个挂载的文件夹) const parentFolder = currentSpreadsheet.getParents().next(); // 在父文件夹中搜索指定名称的表格文件 const targetFiles = parentFolder.getFilesByName(targetName); // 若找到匹配文件,打开第一个(注意重名会取第一个结果) if (targetFiles.hasNext()) { const targetFile = targetFiles.next(); return SpreadsheetApp.open(targetFile); } else { throw new Error(`未找到名称为"${targetName}"的Google表格`); } }
关键逻辑说明
SpreadsheetApp.getActiveSpreadsheet():获取当前脚本绑定的表格实例,这是获取当前文件位置的唯一入口(因为Spreadsheet类本身没有文件夹属性)getParents():返回当前表格文件的所有父文件夹迭代器,用.next()取第一个文件夹,适用于大多数“单文件夹存放”的场景getFilesByName():在目标文件夹内按名称搜索文件,返回文件迭代器,需用hasNext()判断是否存在匹配项- 注意:如果同文件夹内有重名表格,此方法只会返回第一个匹配的文件,建议确保目标表格名称唯一
内容的提问来源于stack exchange,提问作者Eric Mamet
相关产品推荐
相关产品推荐

