Google apps script TypeError:在对象中找不到函数getDataRange
我正在尝试创建一个脚本,该脚本将在整个工作簿“a”和工作簿“B”中搜索重复值,然后从工作簿“a”中的位置删除包含重复值的行 然而,当运行脚本时,我得到一个错误“TypeError:在对象中找不到函数getDataRange”,我不知道为什么 我正在编写的脚本如下:Google apps script TypeError:在对象中找不到函数getDataRange,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试创建一个脚本,该脚本将在整个工作簿“a”和工作簿“B”中搜索重复值,然后从工作簿“a”中的位置删除包含重复值的行 然而,当运行脚本时,我得到一个错误“TypeError:在对象中找不到函数getDataRange”,我不知道为什么 我正在编写的脚本如下: function deleteRowInSpreadsheet1() { var s1 =SpreadsheetApp.openById("1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTc
function deleteRowInSpreadsheet1() {
var s1 =SpreadsheetApp.openById("1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ").getSheets();
var s2 = SpreadsheetApp.openById("18jLxZlge_UFkdTjlO6opuDk1VKeezhEPLe9B7n1OfQs").getSheets();
var values1 = s1.getDataRange().getValues();
var values2 = s2.getDataRange().getValues();
var resultArray = [];
for(var n in values2){
var keep = true
for(var p in values1){
if( values1[n][0] == values1[p][0] && values2[n][1] == values1[p][1]){
keep=false ; break ;
}
}
if(keep){ resultArray.push(values2[n])};
}
s1.clear()
s1.getRange(1,1,resultArray.length,resultArray[0].length).setValues(resultArray);
}
排队
var s1 =SpreadsheetApp.openById("RTcQ").getSheets();
var s2 = SpreadsheetApp.openById("7fQs").getSheets();
使用.getSheets()
方法返回一个包含该电子表格中所有工作表的对象。无法获取此对象的数据范围
相反,您应该使用.getActiveSheet()
或.getSheetByName()
排队
var s1 =SpreadsheetApp.openById("RTcQ").getSheets();
var s2 = SpreadsheetApp.openById("7fQs").getSheets();
使用.getSheets()
方法返回一个包含该电子表格中所有工作表的对象。无法获取此对象的数据范围
相反,您应该使用.getActiveSheet()
或.getSheetByName()
您正在调用
getSheets()
,它返回一个工作表数组。因此,您需要遍历每个工作表,然后调用getDataRange()
例如:
var s1 =SpreadsheetApp.openById("1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ").getSheets();
for (var i=0; i<s1.length; i++) {
var values = s1[i].getDataRange().getValues();
}
var s1=SpreadsheetApp.openById(“1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ”).getSheets();
对于(var i=0;i您正在调用getSheets()
,它返回一个工作表数组。因此,您需要循环遍历每个工作表,然后调用getDataRange()
例如:
var s1 =SpreadsheetApp.openById("1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ").getSheets();
for (var i=0; i<s1.length; i++) {
var values = s1[i].getDataRange().getValues();
}
var s1=SpreadsheetApp.openById(“1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ”).getSheets();
对于(var i=0;iHi感谢您的回复,我唯一的问题是每天都有大量用户添加新的工作表,这意味着我必须每天更改脚本,以便在脚本中添加和删除工作表名称。我试图实现的是请求工作表列表,然后在一个页面上搜索工作表以查找重复的值其他工作簿,然后从第一个工作簿中删除。抱歉,我完全错过了操作的“整个”部分!您好,谢谢您的回复,我唯一的问题是每天都有大量用户添加新工作表,这意味着我必须每天更改脚本,以便在脚本中添加和删除工作表名称。我正在尝试的是o实现是要求提供一个工作表列表,然后在另一个工作簿上搜索工作表中的重复值,然后从第一个工作簿中删除。对不起,我完全错过了操作的“全部”部分!完美,让我克服了那个问题,但现在它又抛出了另一个,我认为还有更多的工作要做。完美,让我克服了那个问题,但现在是它我想还有更多的工作要做。