【发布时间】:2021-10-06 00:42:08
【问题描述】:
我的应用脚本出错。 enter image description here
function mnthly () {
var ss, s1, data, outdata, s2;
ss = SpreadsheetApp.getActiveSpreadsheet();
s1 = ss.getSheetByName("Paycheck");
data = s1.getDataRange().getValues();
outdata = [data[3][2], data[4][2], data[5][2], data[2][7], data[3][7],
data[11][4], data[11][8], data[13][6], data[14][6],
data[16][2], data[16][3], data[17][2],
data[17][6], data[17][7], data[17][8],
data[18][6], data[18][7], data[18][8]];
s2 = ss.getSheetByName(data[2][7]);
s2.getRange(s2.getLastRow()+1, 1, 1, outdata.length).setValues([outdata]);
}
TypeError: Cannot read property 'getRange' of null
mnthly @ submitPayslip.gs:117
我所做的是我需要按月分开薪水。我应该如何编辑这个?
【问题讨论】:
-
在那种情况下,我认为
s2可能是null。那么,如何确认电子表格中是否存在data[2][7]的工作表名称? -
@Tanaike 嗨,是的。我确实确认电子表格中存在数据 [2][7] 的工作表名称。数据 [2][7] 是来自列表的数据验证,特别是月份(1 月、2 月、3 月等),但我确实确保月份存在并且有自己的工作表
-
感谢您的回复。在您的脚本中,当您确认
s2 = ss.getSheetByName(data[2][7]);的s2的值时,您得到了什么值? -
@Tanaike 对不起,我有点迷路了。每当我运行脚本时, s2=ss.getSheetByName(data[2][7]) 的值都不会显示在应有的位置。那应该是一个月出现在自己的工作表上。这能回答你的问题吗?
-
感谢您的回复。从您的回复中,我无法理解
Whenever I run the script, the value of s2=ss.getSheetByName(data[2][7]) doesn't show up to where it should be. That is supposed to be a month appearing on its own sheet. Does this answer your question?。我也无法理解您确认的s2 = ss.getSheetByName(data[2][7]);的s2的价值。我为我糟糕的英语水平道歉。
标签: function google-apps-script google-sheets