我试图从多个google电子表格中删除一个特定的表格。
我有一个主电子表格,可以从所有其他电子表格中收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,比如添加工作表、重命名工作表、隐藏和锁定工作表。
但无法删除其他电子表格中的工作表。在其他线程中查找,但找不到任何解决它的方法。
到目前为止,这就是我所得到的。它停在这一行:
“fname.deleteSheet(本周);}”
function DeleteSheet() {
var sss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sss.getActiveSheet();
var range = sheet.getRange("Z1:Z").getValues();
var filtered_r = range.filter(String).length;
var range = SpreadsheetApp.getActiveSheet().getRange('Z2:Z'+filtered_r);
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
for (var i = 1; i <= numRows; i++) {
for (var j = 1; j <= numCols; j++) {
//Get current file ID in column Z
var currentValue = range.getCell(i,j).getValue();
var currentweekneedstobedefined = SpreadsheetApp.getActiveSheet().getRange(1, 3);
var thisweek = currentweekneedstobedefined.getValue();
ss = SpreadsheetApp.openById(currentValue);
var dsheet = ss.getSheetByName(thisweek);
file = ss
var fname = file.getName();
var thisweeksSheet = file.getSheetByName(thisweek);
if (dsheet != null) {
fname.deleteSheet(thisweek);}
else {
}
}
}
}我很感激在这方面的任何帮助,因为我是一个编码新手。
发布于 2020-04-08 11:45:48
var fname = file.getName();不返回电子表格的一个实例,而是只返回它的名称ss。
解决方案:
修改
ss = SpreadsheetApp.openById(currentValue);
var dsheet = ss.getSheetByName(thisweek);
file = ss
var fname = file.getName();
var thisweeksSheet = file.getSheetByName(thisweek);
if (dsheet != null) {
fname.deleteSheet(thisweek);}至
ss = SpreadsheetApp.openById(currentValue);
var dsheet = ss.getSheetByName(thisweek);
if (dsheet != null) {
ss.deleteSheet(dsheet);
}https://stackoverflow.com/questions/61099038
复制相似问题