javascript - 如何修复 Google Apps 脚本中的“TypeError:无法调用 null 的方法“getRange””
问题描述
我正在设置一个脚本,以使用 Google 表格中的数据自动填充 Google 文档中的模板文档。我一直遇到“TypeError:无法调用 null 的方法“getRange””错误。如何解决此错误?
根据我的阅读,这个错误通常来自没有正确定义变量(在这种情况下是工作表的名称)。但是,我确定名称与工作表中的文件名相同。我已经尝试在这两个地方更改名称,甚至制作了一个全新的文档。
4. var ss = SpreadsheetApp.openById("13YTb-lQzjijkfOKGsZRQf8fcpt_7sMy5_DX7bvlz5Yo");
5.
6. var sheet = ss.getSheetByName("SAT");
7.
8. var documentId = DriveApp.getFileById('1xrc7K9WfNiB_33y0xsB33209IZPBcpskThanC_yfzCw').makeCopy().getId();
9.
10. DriveApp.getFileById(documentId).setName('SAT Vocab ' + date);
11.
12. var body = DocumentApp.openById(documentId).getBody();
13.
14. var range = sheet.getRange("A2:A16");
这是我收到的错误消息:
TypeError:无法调用 null 的方法“getRange”。(第 14 行,文件“代码”)
这是来自 Logger.log(ss + ' ' + sheet);: [19-06-20 12:30:52:007 CDT] undefined undefined
解决方案
问题:
sheet.getRange("A2:A16")
TypeError:无法调用 null 的方法“getRange”。(第 14 行,文件“代码”)
错误意味着sheet
是null
并且null
没有getRange
方法。只有真正的Sheet
班级才能做到。
正如文档中所写,只有一个原因,sheet
返回的是null
.
如果没有具有给定名称的工作表,则返回 null。
只有一个答案。当该工作表名称不存在时。
可能的解决方案:
sheet
name 是指电子表格/工作簿中的选项卡名称。它不指文件名或文档名。默认情况下,第一个工作表/选项卡名为“Sheet1”。尝试
ss.getSheetByName("Sheet1");
如果您仍然无法获取工作表,请检查工作表名称中的空格和不可打印字符。或者,将工作表重命名为简单的名称,例如S1
.
推荐阅读
- reactjs - 调用 api 时,Netlify 重定向的规则不起作用
- c# - c# 枚举列表以从文件夹结构中映射 parentId
- python - PuLP:规范化多个决策变量并分配权重
- vb.net - DataGridview 中的单元格绘制
- javascript - Swiper Loop: true 不能正常工作。角
- selenium - 如何从硒的下拉列表中选择值?
- python - 使用字典跟踪文本文件中的字母
- reactjs - Reactjs 和 react-redux,在渲染组件之前从数据库中获取数据
- visual-studio-code - 我的 vscode 显示了我的源代码管理中的所有文件
- angular - 如何使用 Angular8 响应式表单一次添加/编辑一行