2017-02-11 11 views
0

Googleシートにバインドされたスクリプトで、現在のシートを含むフォルダのID(名前ではない)を知るにはどうすればよいですか?私はこれをしたい:現在のGoogle AppsスプレッドシートのフォルダIDを見つける

var files = DriveApp.getFolderById( '0B9momRZYw4DVTlJVeXNpX25BemM')。getFiles();

しかし、このように、フォルダのIDを表す変数を使用して:

するvarファイル= DriveApp.getFolderById(フォルダID).getFiles();

問題は、親フォルダのIDを取得する方法がわかりません。私は現在のシートがいくつかの異なるフォルダに存在する可能性があることを認識していますが、フォルダのIDを取得する方法はありますか?

答えて

1

DriveAppgetParents()メソッドを使用すると、これはかなり簡単です。フォルダ(S)ID(複数可)を取得するために

function getParentFolder(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var file = DriveApp.getFileById(ss.getId()); 
    var folders = file.getParents(); 
    while (folders.hasNext()){ 
    Logger.log('folder name = '+folders.next().getName()); 
    } 
} 

使用folders.next().getId(): コードは次のようになります。これは、この他のポストのほぼ重複していることを

enter image description here

+0

注(http://stackoverflow.com/questions/17582161/google-apps-spreadsheet-parents-folder-id?rq=1)が、I Mogsdadのコードの更新バージョンを表示するためにそれに答える(今は廃止予定のサービスを使用していた)。 –

+0

folders.next()。getId()は、私が紛失していたパズルの一部でした。どうもありがとうございます.Mogsdadのコードを「新しい」サービスに改訂しました。 – murph

関連する問題