我有一张Google表格,人们提交了自己的照片。 此数据已存储在电子表格中。 我想将所有提交的照片重命名为该人的姓名,以便我们可以告诉谁是照片中的人 - 无需手动操作。
为此,我创建了这个脚本:
function reName() {
var sheetName = 'Data';
var sheet =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var newName = sheet.getRange("C2:C10");
var ID = sheet.getRange("D2:D10");
var nameData = newName.getValues();
var idData = ID.getValues();
for (var i = 0, iLen = nameData.length; i < iLen; i++) {
var file = DriveApp.getFileById(ID);
file.setName(newName);
}
}
但是,它给我发出以下错误消息: &#39;找不到具有给定ID的项目,或者您无权访问该项目。&#39; 我已经测试过脚本只能处理一个图像,而Name,它可以工作。 如何让它在整个范围内工作?
感谢。
答案 0 :(得分:2)
从您的问题来看,似乎newName
和ID
分别位于“C2:C10”和“D2:D10”中。那么下面的修改呢?
getValues()
检索的数据是二维数组。function reName() {
var sheetName = 'Data';
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var data = sheet.getRange("C2:D10").getValues();
for (var i in data) {
var file = DriveApp.getFileById(data[i][1]);
file.setName(data[i][0]);
}
}
如果这不起作用,请告诉我。我想修改。