如何在Google Sheets中通过Google Apps Script实现粘贴Drive文件夹ID自动填充名称
自动获取Google Drive文件夹名称的Google Apps Script方案
需求:在Google Sheets中,当A列单元格粘贴Google Drive文件夹ID时,自动在相邻的B列单元格显示该文件夹的名称。
现有代码问题
你提供的手动触发函数存在以下不足:
- 无法自动响应单元格编辑操作,需要手动运行
- 直接将文件夹对象写入单元格,应调用
getName()方法获取名称 - 缺少错误处理,遇到无效ID会触发报错
解决方案脚本
使用onEdit触发器实现自动响应,脚本如下:
function onEdit(e) { const range = e.range; const sheet = range.getSheet(); // 仅处理Sheet1中A列的编辑操作 if (range.getColumn() === 1 && sheet.getName() === 'Sheet1') { const folderId = range.getValue().trim(); const row = range.getRow(); // 清空对应B列单元格 sheet.getRange(row, 2).clearContent(); if (folderId) { try { const folder = DriveApp.getFolderById(folderId); sheet.getRange(row, 2).setValue(folder.getName()); } catch (error) { sheet.getRange(row, 2).setValue('无效文件夹ID'); } } } }
使用步骤
- 打开目标Google表格,点击顶部菜单栏「扩展程序」→「Apps脚本」
- 删除编辑器中的默认代码,粘贴上述脚本
- 点击保存按钮,为项目命名(如
FolderNameAutoGetter) - 返回表格,在Sheet1的A列任意单元格粘贴Google Drive文件夹ID,B列会自动显示对应名称
内容的提问来源于stack exchange,提问作者Zeeshan Hasnain
相关产品推荐
相关产品推荐

