Googleサイトを編集中。フォームに入力された内容を自動更新される表にして表示したい。
Googleフォームを作成、回答を表示するスプレッドシートを開いて
ツール>スクリプトエディタ
からソースコードを入力していった。
本業ではないため、以下のサイトを参考にして見様見真似で入力していった。
https://www.acrovision.jp/service/gas/?p=472
前回の質問によって表は作成でき、テストも完了した。
https://teratail.com/questions/352401
しかし、タイムスタンプが年月日のみでよいと考えたため、
新しくシートを作成し、「=ARRAYFORMULA(TO_DATE(フォーム回答データのセル))」で
スプレッドシートのセル表示はできました。
その後、日付表示を変更したシートにすべてのデータをコピーするように「=回答データのセル」として整えました。
そして、HTMLの日時表示の箇所に変更を加えたところ、エラーメッセージが発生しました。
発生している問題・エラーメッセージ
SyntaxError: Unexpected number doGet @ コード.gs:2
該当のソースコード
HTML
1<html> 2 <head> 3 <base target="_top"> 4 <style> 5 table,td,th{border:1px solid black width='100%';} 6 td{padding: 10px;} 7 </style> 8 </head> 9 <body> 10 <? 11 var data = getData(); 12 ?> 13 <table> 14 <tr> 15 <th><?=data[0][0]?></th> 16 <th><?=data[0][1]?></th> 17 <th><?=data[0][2]?></th> 18 </tr> 19 <? 20 for(var i= 1,j=data.length;i<j;i++){ 21 output._=('<tr>') 22 output._=('<td width='20%'>'+Utilities.formatDate(new Date(data[i][0]),'yyyy/MM/dd')+'</td>'); 23 output._=('<td width='60%'>'+data[i][1]+'</td>'); 24 output._=('<td width='20%'>'+data[i][2]+'</td>'); 25 output._=('</tr>') 26 } 27 ?> 28 </table> 29 </body> 30</html>
GAS
1function doGet() { 2 return HtmlService.createTemplateFromFile("HP更新履歴").evaluate(); 3} 4 5function getData() { 6 var ss = SpreadsheetApp.openByUrl("スプレッドシートURL"); 7 var values = ss.getSheetByName("HP更新履歴").getDataRange().getValues(); 8 9 return values; 10}
補足情報
スプレッドシート名:HP更新履歴
フォームの回答が表示されるシート名:フォーム回答データ
式を入れて年月日と必要事項を加えたシート名:HP更新履歴
HTML名:HP更新履歴
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/10 06:01
2021/08/10 06:14
2021/08/10 06:25
2021/08/10 06:39
2021/08/10 07:05