我有一个google工作表文件,需要找到另一个谷歌工作表的网址,其中只有其名称已知(我需要其URL,以便我可以通过其他应用程序从外部检索数据)。
为简化此操作,我将两个g-sheet文件保存在Google云端硬盘中的同一文件夹下。我知道我可以在下面的同一张纸上做到这一点,我怎样才能在" ss"是指另一个google工作表文件,我只知道它的名字。
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(ss.getUrl());
理想情况下,我想通过单元格公式来完成它,但如果我需要在脚本编辑器中添加一个函数,那就没问题了。
答案 0 :(得分:0)
如果您拥有两个电子表格所在的文件夹的ID,为什么不在folder上运行查询并过滤掉您要查找的文件by name.。获得该文件后,then grab it's id.。使用该ID,您可以将其解析为Google电子表格网址。希望这可以帮助。
答案 1 :(得分:0)
我让它工作到这里,从脚本编辑器运行正常:
function listFiles() {
var baseFolderObject = DriveApp.getFolderById('0B38VWNq67cFHZVdWcE5KREZXS1U');
var results = [];
var types = [MimeType.GOOGLE_SHEETS]; //, MimeType.GOOGLE_DOCS];
for (var t in types) {
var files = baseFolderObject.getFilesByType(types[t]);
var file, data, sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);
while (files.hasNext()) {
var file = files.next();
results.push(file);
data = [
file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
file.getId()
];
sheet.appendRow(data);
}
}
}
我现在遇到的唯一问题,如果我想从电子表格中运行它说"你没有权限调用" getFolderById"。