2017-01-27 89 views
0

我一直在試圖弄清楚爲什麼我的部分Google App腳本不起作用,但我沒有想出答案。谷歌應用程序腳本,openByURL返回丟失的文件?

該腳本正在通過Gmail中的電子郵件下載附件CSV,並將特定名稱存儲在特定文件夾中 - 這種方式非常好。

但後來我想編輯CSV,這是我遇到問題的地方。

var newFolderIterator = DriveApp.getFoldersByName(destinationFolderName) 
    var newFolderId, myFileName, myFileId 
    while(newFolderIterator.hasNext()) { 
     newFolderId = newFolderIterator.next().getId() 
     var newFileList = DriveApp.getFolderById(newFolderId).getFiles() 
     while(newFileList.hasNext()) { 
     myFileName = newFileList.next() 
     myFileId = myFileName.getId() 
     var myFileURL = myFileName.getUrl() 
     Logger.log(myFileName.getId() + " " + myFileName.getName()) //Logs the ID and Name 
     Logger.log(myFileURL) //Logs the URL 
     var ss = SpreadsheetApp.openById(myFileName.getId()) //Error, cannot find the ID (error message: perhaps it's missing?) 

     }   
    } 

我試過使用openByURL以及相同的錯誤消息。

可能真的很容易修復,任何提示和技巧值得讚賞。

感謝

+0

任何人都有什麼分享的事嗎? – Andy

回答

0

這裏的問題是您要上傳CSV但試圖與SpreadsheetApp打開它。 SpreadsheetApp只能打開Goog​​le表格文檔,並且您的CSV不會自動轉換。

必須首先將CSV轉換爲Google表格文檔,然後才能使用SpreadsheetApp訪問該文檔。

您可以在上傳過程中做到這一點,但我沒有親自嘗試過。這個問題看起來有關:

How to automatically import data from uploaded CSV or XLS file into Google Sheets

+0

謝謝!看起來正確! – Andy

相關問題