88883


スプレッドシートからGASを用いてGmailの下書きを自動作成しています。

**A** のようなシートから、 **B** のようなメールを作成したいのですが  
セルの異なる本文①と本文②を画像のようにbody内に一緒に記載させる方法がわかりません。

**A**  
[![元スプレッドシート](https://i.stack.imgur.com/5HSzD.png)](https://i.stack.imgur.com/5HSzD.png)

↓

**B**  
[![欲しい発現](https://i.stack.imgur.com/H26Vl.png)](https://i.stack.imgur.com/H26Vl.png)

現在のスクリプトは以下のとおりです。  
data[6]  
をどのように入れればいいのかがわかりません。

[code]

    function allsend() {
      
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet();
      
      var rows = sheet.getLastRow()-2;
      var columns = sheet.getLastColumn()-2;
      
      var range = sheet.getRange(3,3,rows,columns);
      var datas = range.getValues();
      
      datas.forEach(function(data){
        
      var category = data[0];
      var recipient = data[1];
      var cc = data[2];
      var bcc = data[3];
        
      var subject = data[4];
      var body = data[5];
        
      var options = {
        cc:cc,
        bcc:bcc,
      }
      
      if(category == true){  //チェックされている場合のみメール作成
      GmailApp.createDraft(recipient, subject, body, options);
      }
      });
    }
    
[/code]

お力添えいただければ幸いです。


CC BY-SA 4.0
2022-05-16T03:12:35.777
88839
2022-05-17T13:36:47.477
2022-05-16T11:52:53.533
52641
52641
question
google-apps-script google-spreadsheet
GASでスプレッドシートからGmailでの下書きメールを自動作成する際に、bodyを2つ挿入したい


表示されているスプレッドシートとサンプルメールから、使用したい列は、次のように理解しました。

  * Category: Column "C"
  * Recipient: Column "D"
  * cc: Column "E"
  * bcc: Column "F"
  * Subject: Column "G"
  * Body: Column "H", "I"

これを使用してスクリプトを修正すると、次のような修正はいかがでしょうか。

### 修正したスクリプト

[code]

    function allsend() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var values = sheet.getRange("A3:I" + sheet.getLastRow()).getValues();
      values.forEach(([, , category, recipient, cc, bcc, subject, ...body]) => {
        if (category === true) {
          GmailApp.createDraft(recipient, subject, body.join("\n"), { cc, bcc });
        }
      });
    }
    
[/code]

  * スプレッドシートの画像から2行のヘッダ行を確認しましたので、ヘッダ行を除外してデータを取得し、そのデータから列Cのチェックボックスがチェックされている行に対して値を取得してドラフトメールを作成する流れです。


CC BY-SA 4.0
2022-05-17T13:36:47.477
88883
2022-05-17T13:36:47.477
19460
88839
answer