簡體   English   中英

獲取Google雲端硬盤中多個文件的共享鏈接以放入電子表格

[英]Get share link of multiple files in Google Drive to put in spreadsheet

我有此腳本,該腳本從文件夾內的文件創建可共享的鏈接,然后將鏈接放入電子表格中。

function myFunction() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var s=ss.getActiveSheet();
  var c=s.getActiveCell();
  var fldr=DriveApp.getFolderById("REPLACE_[ID]_HERE");
  var files=fldr.getFiles();
  var names=[],f,str;
  while (files.hasNext()) {
    f=files.next();
    str='=hyperlink("' + f.getUrl() + '","' + f.getName() + '")';
    names.push([str]);
  }
  s.getRange(c.getRow(),c.getColumn(),names.length).setFormulas(names);
}

相反,我得到這個錯誤

The number of rows in the range must be at least 1. (line 13, file "Code")

腳本基於此答案https://webapps.stackexchange.com/a/119646

在我的文件目錄中,只有文件夾。

因此,要獲取可共享文件夾的鏈接,您將需要使用getFolders()方法。

function myFunction() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var s=ss.getActiveSheet();
  var c=s.getActiveCell();
  var fldr=DriveApp.getFolderById("REPLACE_[ID]_HERE");
  var files=fldr.getFolders();
  var names=[],f,str;
  while (files.hasNext()) {
    f=files.next();
    str='=hyperlink("' + f.getUrl() + '","' + f.getName() + '")';
    names.push([str]);
  }
  s.getRange(c.getRow(),c.getColumn(),names.length).setFormulas(names);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM