簡體   English   中英

使用Google腳本循環瀏覽多個Google電子表格

[英]Looping through multiple google spreadsheets with google scripts

因此,我在Google驅動器中有多個不同的電子表格(完全不同的文件,不在同一文件和不同的工作表中),並且我一直在嘗試找出一種從所有電子表格中提取數據並填充一個主工作表的方法。 但是我一直試圖找出的問題是,我似乎找不到一種遍歷所有電子表格的方法。

我讀過一個關於另一個類似問題的建議,他們說要創建一個不同的電子表格,該電子表格將所有電子表格ID存儲在其中。 但是我的另一個問題是,當我運行該應用程序時,我不知道有多少個電子表格,因為一直在增加。

因此,由於它們似乎不是遍歷驅動器中所有電子表格的方法,因此它們是在Google腳本中進行創建的方法,以便在創建文件時,腳本便可以運行並能夠獲取新的文件。創建的文件ID?

謝謝,Ethan。

Google表格的MIME類型為:

application / vnd.google-apps.spreadsheet

您可以遍歷驅動器中的所有文件並記錄所有文件的MIME類型,以查看可能有哪些不同的MIME類型:

function getAllSheets() {
 // Log the name of every file in the user's Drive.
 var files = DriveApp.getFiles();
   while (files.hasNext()) {
     var file = files.next();
     Logger.log(file.getMimeType());
 }
};

您可以按某種MIME類型獲取所有文件。 此代碼將驅動器中所有電子表格的名稱打印到LOG。

function getAllSheets() {
 // Log the name of every file in the user's Drive.
 var files = DriveApp.getFilesByType("application/vnd.google-apps.spreadsheet")
   while (files.hasNext()) {
     var file = files.next();
     Logger.log(file.getName());
 }
};

因此,您可以遍歷驅動器或特定文件夾中的所有電子表格。

所有Google驅動器文件

使用“ Google Apps腳本-雲端硬盤API”列出所有文件

// Log the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  Logger.log(file.getName());
}

在頂部的示例中: https : //developers.google.com/apps-script/reference/drive/

getMimeType()

查看該方法是否存在。 如果obj.getMimeType ===未定義其文件夾。 或者,以使其在api發生更改(將方法添加到文件夾)時更加健壯,請使用if(obj.getMimeType === undefined || obj.getMimeType()。toLowerCase()==“ application / vnd.google- apps.folder”)

如何使用GAS區分DriveApp中的文件和文件夾

暫無
暫無

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

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