こんにちは.
gasで, スプレッドシートの値をブラウザに表示させて, buttonを押す毎に異なる行のスプレッドシートの値を表示するようなwebアプリを目指しているのですが, 初歩的なところでエラーが出て困っています.
以下スクリプトの状態で 公開→ウェブアプリケーションとして導入を押すと, 以下エラーが出ます. htmlファイルの7行目のLogger.logではきちんとcount変数の値が参照できているのですが, 9行目のdataでdataを参照できていないようです.
参考にしたサイト : [Googleスプレッドシートの値をHTMLテンプレートに出力して保存する方法](https://www.terakoya.work/google-spread-sheet-html-template-output-save
どうしたらdataがセルの値にアクセスできるようにできるのでしょうか?
宜しくお願い致します.
gs
1var count = 1; 2var myData = SpreadsheetApp.getActiveSheet(); // アクティブなスプレッドシートファイルの取得 3var template = HtmlService.createTemplateFromFile("hello"); // テンプレートオブジェクトの取得 4 5function exportHTML(count) { 6 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1"); // "シート1"を取得 7 template.data = sheet.getRange(count+1, 1, 1, 6).getValues(); // セルの値を取得し, テンプレートに付与 8 Logger.log(template.data); 9} 10 11function doGet() { 12 return template.evaluate(); 13}
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 </head> 6 <body> 7 <?= Logger.log("問題" + count); ?> 8 <p><?= "問題" + count ?></p> 9 <p><?= data[1] ?></p> // 問題文を取得 10 <input type="button" id="Button1" value="1" onclick="answerButtonClick(this.value)"> 11 <input type="button" id="Button2" value="2" onclick="answerButtonClick(this.value)"> 12 <input type="button" id="Button3" value="3" onclick="answerButtonClick(this.value)"> 13 <input type="button" id="Button4" value="4" onclick="answerButtonClick(this.value)"> 14 </body> 15</html>
error
1ReferenceError: 「data」が定義されていません。(行 46、ファイル「code」)
回答1件
あなたの回答
tips
プレビュー