Google Apps ScriptからHTMLへデータを受け渡す方法
2021/07/10
5年前にGASからHTMLへのデータの受け渡し方法について書きましたが、どうやら仕様が変わっていたらしくうまく動作できませんでした。改めて現在動作可能な正しい手順を書こうと思います。いつの間にすごくシンプルな仕組みになっていました。いつ仕様が変わったのでしょうか?
HTMLに<?= 変数名 ?>を埋め込む
GASからのデータをHTML側で受け取る場合は、<?=変数名 ?>というタグを埋め込みます。かつてはHTMLに埋め込んだJavascriptで受け取っていたことを考えると非常にシンプルになりました。
以下が例です。変数名をmessageとしました。
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <h1><?=message ?></h1> </body> </html>
GAS側のコード
次にGAS側のソースコードです。HTML側で設定した変数messageに「Hello World!」を送るようにします。doGet関数はGASをWebアプリケーションとして実行する場合に最初に呼び出される関数です。
function doGet() { var t = HtmlService.createTemplateFromFile('index.html'); t.message="Hello World!"; return t.evaluate(); }
実行結果は以下の通りです。ちゃんとデータを受け取れました。
TextArea内でデータを受け取る
今度はTextArea内でデータを受け取ってみます。HTMLは以下のとおりです。GAS側は変えていません。
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <textarea><?=message ?></textarea> </body> </html>
実行結果はご覧の通りです。TextArea内でも受け取れました。
スポンサーリンク