【问题标题】:Getting Google Sheet URL from Name从名称中获取 Google Sheet URL
【发布时间】:2016-09-18 06:20:15
【问题描述】:

我有一个 google sheet 文件,它需要找到另一个 google sheet 的 URL,其中只知道它的名称(我需要它的 URL,以便我可以通过其他应用程序从外部检索数据)。

为了简化这一点,我将两个 g-sheets 文件保存在 Google 云端硬盘中的同一文件夹下。我知道我可以在下面的同一张表格中执行此操作,当“ss”引用另一个 google 表格文件并且我只知道它的名称时,我该怎么做。

var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(ss.getUrl());

理想情况下,我想通过一个单元格公式来完成,但如果我需要向“脚本编辑器”添加一个函数也可以。

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    如果您有两个电子表格所在文件夹的 ID,为什么不在 folder 上运行查询并过滤掉您要查找的文件 by name.。获得该文件后,then grab it's id.。使用该 ID,您可以将其解析为 google 电子表格 URL。希望这可以帮助。

    【讨论】:

      【解决方案2】:

      我让它工作到这里从脚本编辑器运行正常:

      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”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-30
        • 2021-02-05
        • 2015-02-24
        • 2018-06-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多