質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

解決済

【GAS】HTMLの中にjavascriptから取得した値を入れたい

wtst3011
wtst3011

総合スコア7

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

3回答

0評価

1クリップ

2464閲覧

投稿2021/08/04 01:19

前提・実現したいこと

GASでHTMLメールを複数人に送るシステムを作っています。
メールはGmeilです。

スクリプトの詳細を補足すると、
「アドレス」「メールタイトル」「人名」「会社名」はスプレッドシートから取得し、
メール本文はHTMLから取得するスクリプトを作りたいです。

発生している問題・エラーメッセージ

メール本文の箇所だけ上手くいかず、
作成したメールにHTMLのコードがそのまま出力されてしまいます。

<?=data[5] ?> <?=data[6] ?>

完成形イメージ↓
ーーメール本文ーー
「会社名」(スプレッドシート)
「人名」(スプレッドシート)
「HTML」

この「会社名」と「人名」をメール本文に
記載させようとコードがそのまま出力されるように
なってしまう場合の解決方法教えていただけないでしょうか。

どうか、宜しくお願いいたします。

該当のソースコード

javascript

function myFunction(){ //スプレッドシートを取得 var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); //データを取得 var rows = sheet.getLastRow()-2; //カラム行は除く var columns = sheet.getLastColumn(); var range = sheet.getRange(3,1,rows,columns); var datas = range.getValues(); //配列を宣言 var array = []; //HTMLメールを取得 var html = HtmlService.createHtmlOutputFromFile("HTMLメール").getContent(); //データ(各行)に対して繰り返し datas.forEach(function(data){ try{ var category = data[0]; var recipient = data[1]; var cc = data[2]; var bcc = data[3]; var subject = data[4]; var aaa = data[5]; var bbb = data[6]; var body = html; var attachments = []; var status = data[7]; if(status === "完了"){ var result = "完了"; var message = ""; } else { var options = { cc:cc, bcc:bcc, attachments:attachments, "htmlBody": html } if(category === "下書き"){ GmailApp.createDraft(recipient, subject, body, options); //下書き作成 } else if(category === "送信"){ GmailApp.sendEmail(recipient, subject, body, options); //送信 } var result = "完了"; var message = ""; } } catch(e) { var result = "error"; var message = e; } finally{ array.push([result,message]); } }); } ```HTML <!DOCTYPE html> <html> <head> </head> <body>  <?=data[5] ?>  <?=data[6] ?> </body> </html>

試したこと

<?= ?>

・を使ってGASから取得した値をHTMLに読み込ませようとした
・data[5]の値はLogger.logで取得できていることは確認済

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。