実現したいこと
スプレッドシートからGASで値を取得し、変数をHTMLに渡して
下記のように本文の改行をしたいです。(色は不要)
前提
GASでスプレッドシートから情報を取得し
Gmail下書き作成のスクリプトを作っています。
署名に装飾があるためHTMLメールでやりたいです。
発生している問題・エラーメッセージ
スプレッドシートから取得している本文の改行ができません。
該当のソースコード
javascript
1function myFunction() { 2 3var result = Browser.msgBox("明細月・送付担当者・チェックボックスは入力済みですか?問題なければこのまま実行してよろしいですか?", Browser.Buttons.OK_CANCEL); 4 if (result == "ok"){ 5 6 const spreadsheet = SpreadsheetApp.getActive(); 7 spreadsheet.setActiveSheet(spreadsheet.getSheetByName("下書作成")); 8 const sheet = SpreadsheetApp.getActiveSheet(); 9 const template = HtmlService.createTemplateFromFile("INDEX.html"); 10 11 //6行目から最終行までループ処理 12 const lastRow = sheet.getLastRow(); 13 for (let i = 6; i<= lastRow; i++){ 14 15 const month = sheet.getRange(i,1).getValue(); //行ごとに1列目の「月」を取得 16 const companyName = sheet.getRange(i,2).getValue(); //行ごとに2列目の「会社名」を取得 17 const name = sheet.getRange(i,3).getValue(); //行ごとに3列目の「担当者名」を取得 18 const to = sheet.getRange(i,4).getValue(); //行ごとに4列目の「アドレス」を取得 19 const CC = sheet.getRange(i,5).getValue(); //行ごとに5列目の「CC」を取得 20 const abc = sheet.getRange(i,6).getValue(); //行ごとに6列目の「送付実行者」を取得 21 const check = sheet.getRange(i,8).getValue(); //行ごとに8列目の「チェックボックス」を取得 22 23 let jpdate = Utilities.formatDate( month, 'JST','yyyy年M月'); //1列目の日付を日本時間に変換と、形式 24 25 const subject = sheet.getRange(2,3).getValue() 26 .replace('{月}',jpdate); //行ごとにC2セルの内容を取得して{月}を変換 ※件名 27 28 //行ごとにC3セル(本文)の内容を取得して文中の{月}を変換 29 const message = sheet.getRange(3,3).getValue() 30 .replace('{月}',jpdate) 31 .replace('{会社名}',companyName) 32 .replace('{担当者名}',name) 33 .replace('{date}', jpdate) 34 .replace('{送付担当者}',abc) 35 36 template.message = message; 37 var html = template.evaluate().getContent(); 38 var body = html; 39 40 const options = { 41 "cc":CC, 42 "htmlBody": html //メール本文をhtmlファイルに指定 43 }; 44 45 46 47 //取得した内容をGmailで下書き作成 48 if(check == true){ 49 GmailApp.createDraft(to, subject, body, options); 50 51 } 52 } 53 } 54 }
HTML
1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 </head> 6 <body> 7 <?=message ?> 8 <body> 9 10…以下署名のHTML
試したこと
https://teratail.com/questions/352646
こちらを参考にGASからHTMLへ変数の受け渡しまではできました。
実行すると改行されず、下記のようになってしまいます。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。