ラベル Google Apps Script の投稿を表示しています。 すべての投稿を表示
ラベル Google Apps Script の投稿を表示しています。 すべての投稿を表示

2015年9月29日火曜日

Google Apps Script : ファイルとフォルダ

基本となるファイルとフォルダの列挙や操作について触れてみます
ファイル、フォルダまわりを扱うにはDriveAppを利用します

■列挙
 ・ファイルの単純な列挙
  DriveApp.getFiles() : FileIteratorという形で受け取ります

  基本的な列挙のコード
  var objFiles = DriveApp.getFiles();
  var objFile;
  while (objFiles.hasNext()){
    objFile = objFiles.next();
    Logger.log(objFile.getName());
  }
  →Googleドライブ内にある全てのファイルが列挙されます

 ・フォルダの単純な列挙
  DriveApp.getFolders() : FolderIteratorという形で受け取ります

  基本的な列挙のコード
  var objFolders = DriveApp.getFolders();
  var objFolder;
  while (objFolders.hasNext()){
    objFolder = objFolders.next();
    Logger.log(objFolder.getName());
  }
  →Googleドライブ内にある全てのフォルダが列挙されます

 ・指定のフォルダについての列挙
  ファイル、フォルダ共に指定のフォルダに属した物のみを対象に列挙できます
  objFolder.getFiles()
  objFolder.getFolders()
  →対象のフォルダ(objFolder)に、getFiles/getFoldersをする事で列挙ができます

 ・ファイルのタイプを限定して列挙
  DriveApp.getFilesByType(mime type) : タイプを引数に指定

  例えば、Spreadsheetのファイルを列挙する場合は以下のようにします
  DriveApp.getFilesByType(MimeType.GOOGLE_SHEETS);
   画像のようにMimeType.まで入力すると候補が表示されるので、
   この中から選択する形で覚えれば良いと思います


■取得
 列挙の中では、next()によって1つのファイル/フォルダを取得していましたが、IDや名前を使って取得ができます

 ・ファイルの取得
  DriveApp.getFileById(id) : IDから特定の1つのファイル受け取ります
  DriveApp.getFileByName(name) : 名前からFileIteratorという形で受け取ります

 ・フォルダの取得
  DriveApp.getFolderById(id) : IDから特定の1つのフォルダを受け取ります
  DriveApp.getFolderByName(name) : 名前からFolderIteratorという形で受け取ります

  →名前の場合は、同じ名前の物が存在しうるので列挙と同じ形の受け取りとなります

 ・フォルダの取得(マイドライブ)
  DriveApp.getRootFolder() : マイドライブ(ルート)を受け取ります


■名前の変更
 ・ファイル名の変更
  objFile.setName(name) : 引数に指定した名前に変更します

 ・フォルダ名の変更
  objFolder.setName(name) : 引数に指定した名前に変更します


■新規作成
 ・フォルダの作成
  DriveApp.createFolder(name) : 引数に指定した名前でマイドライブにフォルダを作成します
  objFolder.createFolder(name) : 引数に指定した名前でobjFolderにフォルダを作成します


■複製(コピー)
 ・ファイルの複製
  objFile.makeCopy() : 引数の有無によって名前や複製先を指定できます

  targetFolderへ"複製されたファイル"という名前で複製する例
  objFile.makeCopy("複製されたファイル", targetFolder);


■削除(ゴミ箱へ送る)
 ・ファイルの削除
  objFile.setTrashed(true) : objFileを削除します

 ・フォルダの削除
  objFolder.setTrashed(true) : objFolderを削除します

-----
以上でファイルとフォルダの列挙、基本的な操作ができると思います。

2015年9月26日土曜日

Google Apps Script : 準備から記述、実行まで

少しPythonから離れて、Google Apps Scriptにも触れてみます。

■準備
 ・Googleアカウント
 ・Googleドライブに「Google Apps Script」を追加
  →初期状態では、[新規ファイル]メニューに[Google Apps Script]が含まれていないので追加する作業が必要です。

  (1)Googleドライブにアクセスして、右クリックでメニューを表示

  (2)メニューから赤枠の[アプリを追加]を選択

  (3)検索ボックスに「Google Apps Script」を入力して、リストに表示された[Google Apps Script]の[接続]をクリック

  (4)右クリックのメニューの[新規ファイル]に[Google Apps Script]が表示されるようになる


■スクリプトの記述と実行
 エディタでスクリプトを記述して実行するところまでの一連の流れです

 (1)新規ファイルで「Google Apps Script」を選択

  (2)エディタが表示され、「myFunction()」が定義されているのが確認できる
   myFunction内に以下を記述します   
   Logger.log("Hello world!");

 (3)赤枠にある[保存]のボタンをクリックし、プロジェクト名(ファイル名)を入力します


 (4)赤枠にある[実行]のボタンをクリックします






  エディタのメニュー[表示]→[ログ]を選択すると、以下のような表示が確認できます

 
 このような流れで、スクリプトの記述から実行までを行います