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


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スクリプトの自動実行が可能になる。
- GASエディタで「時計」アイコンをクリックする。
- 「トリガーを追加」から新しいトリガーを設定する。
- 「イベントの種類」から「時間主導型」などを選び、適宜設定する。
これで、指定した時間に自動でファイルが保存されるようになる。


他のファイル形式として保存する場合
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に保存される。

