我试图获取由url确定的电子表格的父文件夹的名称,然后将名称放在指定的单元格中。调试下面的脚本告诉我“TypeError:无法在对象Spreadsheet中找到函数getParents”。我已经尝试了每一个我能想到的调整,并阅读了多篇可能回答我问题的类似文章,但我无法理解它们。 (原谅新手?)有人可以告诉我我做错了什么吗?
function getParent(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("VALUES");
var ll = s.getRange("B11");
var url = ll.getValue();
var driveFile = SpreadsheetApp.openByUrl(url);
var parentFolder = driveFile.getParents();
while (parentFolder.hasNext()) {
var folder = parentFolder.next();
var title = folder.getName();
}
s.getRange("B5").setValue(title);
}
试试这个:
function getParent(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName("VALUES");
var url=sh.getRange("B11").getValue();
var file=DriveApp.getFileById(url.split('/')[5]);//gets the id out of the url
var parentFolder=file.getParents();
while (parentFolder.hasNext()) {
var folder = parentFolder.next();
var title = folder.getName();
}
sh.getRange("B5").setValue(title);
}
看起来这个代码有两个小问题,我们将解决这个问题,让你开始运行。
我已经测试了以下代码,我相信它符合您的期望:
function getParent(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("VALUES");
var ll = s.getRange("B11");
var fileId = ll.getValue();
var driveFile = DriveApp.getFileById(fileId);
var parentFolder = driveFile.getParents();
while (parentFolder.hasNext()) {
var folder = parentFolder.next();
var title = folder.getName();
}
s.getRange("B5").setValue(title);
}