earthpg:GAS専門のプログラミングスクール

Google Apps ScriptでファイルをDriveに自動保存する方法とは?

GASを使って、ファイルをGoogle Driveに自動的に保存する方法ってあるのかな?
猫男
猫男
catman
catman
心配するな、GASでそれは簡単に実現できることだ。catmanが手順を教えてやろう。

GASでDriveにファイルを自動保存する基本

GASを使えば、手作業でファイルをGoogle Driveに保存する代わりに、スクリプトを組んで自動的に行わせることが可能だ。

Step 1: プロジェクトを作成しよう

まずは、GASプロジェクトを作成する必要がある。Google Driveから「新規」をクリックし、「その他」から「Google Apps Script」を選択することでプロジェクトを立ち上げることができる。

Step 2: DriveAppを活用しよう

Google Driveにファイルを保存するには、GASのDriveAppクラスを使用する。ここでは、テキストファイルをDriveに保存する例を示す。

 function saveFileToDrive() { 
 var fileName = "Sample.txt"; 
 var fileContent = "このテキストは自動的に保存されました。"; 
 var folder = DriveApp.getFolderById("フォルダIDをここに"); 
 folder.createFile(fileName, fileContent);
 } 

このスクリプトは、指定されたフォルダID内に「Sample.txt」という名前のファイルを作成し、その中にテキストを保存する。

Step 3: トリガーを設定して自動化しよう

ファイルを定期的に保存するなら、「トリガー」を設定することでGASスクリプトの自動実行が可能になる。

  1. GASエディタで「時計」アイコンをクリックする。
  2. 「トリガーを追加」から新しいトリガーを設定する。
  3. 「イベントの種類」から「時間主導型」などを選び、適宜設定する。

これで、指定した時間に自動でファイルが保存されるようになる。

わぁ〜自動でファイルが保存できるなんて感動です!でも、フォルダIDってどうやって取得するの?
猫男
猫男
catman
catman
フォルダIDは、Google DriveのURLを見ればわかる。URLの中に「folders」以降のIDがフォルダIDだ。

他のファイル形式として保存する場合

GASでは、他のファイル形式も保存できる。以下に、GoogleスプレッドシートをPDF形式に変換して保存する例を示す。

 function saveSpreadsheetAsPDF() { 
 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
 var blob = spreadsheet.getBlob().getAs("application/pdf"); 
 var folder = DriveApp.getFolderById("フォルダIDをここに"); 
 folder.createFile(blob.setName(spreadsheet.getName() + ".pdf"));
 } 

このスクリプトでは、アクティブなスプレッドシートがPDFとして保存されるぞ。

 

練習問題

GASを使ってGoogleドキュメントをテキストファイルに変換し、Google Driveに保存するスクリプトを書いてみよう。

 

解答・解説

 function saveDocumentAsText() { 
 var document = DocumentApp.getActiveDocument(); 
 var text = document.getBody().getText();
 var fileName = document.getName() + ".txt"; 
 var folder = DriveApp.getFolderById("フォルダIDをここに"); 
 folder.createFile(fileName, text); 
} 

このスクリプトは、現在のGoogleドキュメントを取得し、テキストとして保存するという流れだ。まず、DocumentAppクラスを使ってアクティブなドキュメントを開く。次に、getBody()メソッドで本文を取得し、getText()でその内容をテキストとして取り出す。

そして、DriveAppクラスを使い、フォルダIDを指定してそのフォルダにファイルを作成し、保存する。この一連の流れで、GoogleドキュメントがテキストファイルとしてGoogle Driveに保存される。

すごい!これで日々の作業が格段に楽になりそうです!
猫男
猫男
catman
catman
その通りだ!GASで自動化をマスターすれば、仕事の効率が大幅にアップするぞ!