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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

828閲覧

【GAS】html内での.jsの変数を挿入出来ずに困っています。

tricera

総合スコア11

Google Apps Script

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/07/03 07:27

編集2019/07/03 07:46

前提・実現したいこと

こんにちは。非エンジニアなのですがGASにて業務効率化を勉強しており、躓いてしまっております。
お力添えをお願いしたく質問します。

現在、google以外のシステム経由でスプレッドシートに入力された名前とアドレスを元に、自動返信をしたいと思っております。
ただ定型文の自動返信ではなく、宛先のお名前と、別途自動生成されたスプレッドシートのURLを取得し、
メールのbodyに変数として挿入して送信したいと考えています。

各変数の取得までは出来ているのですが、htmlファイル内での記載の仕方に問題があるようで、下記のエラーが出ています。

htmlファイル内での、jsで取得した変数の記入方法をご教示いただけますと幸いです。

宜しく御願い致します。

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

TypeError: オブジェクト <!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> &lt;?= Name?>

該当のソースコード

コード.gs

GS

1. 2. 3var html = HtmlService.createHtmlOutputFromFile('mailReply').getContent(); //テンプレ読み込み 4var res = html.evaluate(); //htmlのオブジェクトを生成? ここでエラーを起こしている模様・・・ 5html = res.getContent(); //html にオブジェクトを代入 6. 7. 8 GmailApp.sendEmail({ 9 to: mailAddress, 10 subject: "御礼とシートURLのご案内", 11 htmlBody: html 12 }); 13 14 15

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 </head> 6 <body> 7 <h4><?= Name?></h4> 8 <br> 9  <p>お世話になっております。</p> 10 . 11 . 12 . 13  <?= shUrl?> <!--生成したURLを挿入 --> 14 15 </body> 16</html> 17

試したこと

<?= Name?>を囲う<h4>タグがいけないのかと思い、削除してみたのですが、エラー時はやはり &lt;?= Name?>となって返ってきます。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

テンプレ読み込みはHtmlService.createHtmlOutputFromFileではなくHtmlService.createTemplateFromFileを利用しなければいけないのでは?

投稿2019/07/03 09:11

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tricera

2019/07/03 09:21

つたない文章にご回答有難う御座います。書き換えてトライしたところ、下記のエラーとなりました。 エラー HtmlTemplate で関数 getContent が見つかりません。 なのでgetContentを削除すると、 エラー Nameが定義されていません そこで、 var html = HtmlService.createTemplateFromFile('mailReply'); html.name = Name; html.url = Url; と.gs内で定義してあげたところ、うまく動きました! 有難う御座います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問