【GAS基礎講座12】スプレッドシートから名前を取得しPDFを作成する

基礎講座

GAS基礎講座一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

 

4回に渡って、Googleドキュメントの中身を
スプレッドシートのデータに差し替えて
PDFファイルを作成します。

今回は3回めなので、これまでの2つを見たほうが
理解が深まります。

【GAS基礎講座 10】 Googleドキュメント 文字列の置換 (テンプレに差し込んでPDFファイルを出力)
  • Googleドキュメントにおける文字列の置換方法がわかります。
  • ファイルのコピーの仕方がわかります。
  • 【GAS基礎講座11】 GoogleドキュメントをPDFファイルに変換する
    前回から4回に渡って、Googleドキュメントの中身を スプレッドシートのデータに差し替えて PDFファイルを作成します。 今回は、核となるPDFファイルの出力です。

    そして、今回はPDFファイル名をスプレッドシートから
    取得します。

     

    今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • スプレッドシートから名前を取得しPDFファイルを作成することができます。

    そしてサクッとマスターして

    と答えてあげてください。

    動画はこちら

    【GAS基礎講座 12 】スプレッドシートの内容に従ってPDFファイルを作成する方法

    スクリプト

    function createBulkPDFs(){
      const docFile = DriveApp.getFileById("1z3KQOfDLj5PqFjVR0Ir4X5SJjzTQNmpcxnihi6paeGs");
      const tempFolder = DriveApp.getFolderById("1sdCNy2CAlmdwpu9LyaQb1sKHKV2CG6kz");
      const pdfFolder = DriveApp.getFolderById("1Jn33Nm9gACL0mfhzz9o8-dRbvco77MUo");
      
      const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      
      let lr = currentSheet.getLastRow();
      for( var i=2 ;i <= lr ; i++ )
      {
        var name = currentSheet.getRange(i,1).getValue();
        var amount = currentSheet.getRange(i,3).getValue();
        createPDF(name,amount,name,docFile,tempFolder,pdfFolder);
      }
        
    }
    
    
    
    function createPDF(Name,amount,pdfName,docFile,tempFolder,pdfFolder) {
      
      
      const tempFile = docFile.makeCopy(tempFolder);
      const tempDocFile = DocumentApp.openById(tempFile.getId());
      const body = tempDocFile.getBody();
      
      body.replaceText("{name}", Name);
      body.replaceText("{balance}", amount);
      
      tempDocFile.saveAndClose();
      
      const pdfContentBlob = tempFile.getAs(MimeType.PDF);
      pdfFolder.createFile(pdfContentBlob).setName(pdfName);
      
      tempFolder.removeFile(tempFile);
      
      
    }
    

     

    以上です。

    最後までご覧いただきありがとうございます。

     

    次は、forループをforEachでやってみましょう。

    【GAS基礎講座13】配列操作時にfor文よりも使えるforEach
    4回に渡って、Googleドキュメントの中身を スプレッドシートのデータに差し替えて PDFファイルを作成します。 の最終回です。

     

    GAS基礎講座一覧

    コメント

    タイトルとURLをコピーしました