获取所有文件的ID

cjvdg

我正在处理每个年级具有相同内容的文件夹。我使用 IMPORT RANGE 函数来连接电子表格。所以我每次创建另一个年级时都需要更新 ID。请问我是否有可能获得我正在处理的所有文件的所有ID,而无需逐一编辑或键入它们?也许一个脚本可以使它更容易?

这是 ID 列表的图片。

身份证

如果可能,我想到的流程是获取文件的文件名,然后获取它的 id。

马里奥

解释:

  • 以下脚本将获取范围内的所有文件名B3:B随后的forEach文件名,我们使用getFilesByName获得对应于该名称的文件。确保您没有同名的文件,否则此过程将返回多个同名的 ID,因此逻辑将不起作用。

  • 最后我们使用getId来获取每个文件的 ID 并将其存储到一个数组中。然后,C3如屏幕截图中所示,此数组将从单元格开始粘贴到 C 列

解决方案:

function myFunction() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet1'); // change that to the name of your sheet
  const filenames = sh.getRange('B3:B').getValues().flat().filter(r=>r!='');
  const IDs = [];
  const folderId = "put your folder id here";
  const Folder=DriveApp.getFolderById(folderId);
  filenames.forEach(fn=>{
      let Files = Folder.getFilesByName(fn);
      while(Files.hasNext()){
          let file = Files.next();
          IDs.push([file.getId()]);
      }
  });
  sh.getRange(3,3,IDs.length,1).setValues(IDs);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章