見出し画像

【Google Apps Script(GAS)】大量シートを一括でPDF変換する方法【業務効率化】

Googleアプリ操作の自動化が簡単にできるGoogle Apps Script(GAS)
これを抑えておけば業務効率がグッとアップします🙆‍♀️

今回はスプレッドシート内の複数シートを一括でPDF変換する方法解説しました!是非これを機会にGAS習得しちゃいましょう~~!

◎動画はこちら

◎スクリプト

function myFunction() {

 //スプレッドシートを取得
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 
 //スプレッドシートIDを取得
 var key = ss.getId();
 
 //スプレッドシート内すべてのシートを取得
 var sheets = ss.getSheets();
 
 //tokenを取得
 var token = ScriptApp.getOAuthToken();
 
 //格納フォルダを取得
 var folder = DriveApp.getFolderById("★フォルダIDを記載");
 
 //ファイル内の各シートに対して繰り返し
 sheets.forEach(function(sheet){
 
   //シートIDを取得
   var gid = sheet.getSheetId();
   
   //シートURLを生成
   var url = "https://docs.google.com/spreadsheets/d/" + key + "/export?gid=" + gid + "&exportFormat=pdf&format=pdf";
   
   //urlfetchする際のoptionsを宣言
   var options = {
    headers:{"Authorization":"Bearer " +  token} 
   }
   
   //fetch
   var response = UrlFetchApp.fetch(url,options);
   
   //fetchのレスポンスをblobクラスとして取得
   var blob = response.getBlob();
   
   //取得したblobクラスに名前を付ける(今回はシート名をそのまま使う)
   blob.setName(sheet.getName());
   
   //格納フォルダにファイルを生成
   folder.createFile(blob);
   
   //待機
   Utilities.sleep(6000); //429エラー回避のためsleep
   
 });
}

GASの基礎学習にはUdemyがおすすめです!(徹底解説してます!)


この記事が気に入ったらサポートをしてみませんか?