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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google サイト

Google サイトは、Google社が提供する無料のホームページ作成ツールです。プログラミングやデザインなどの知識がなくても、ブラウザから容易にWebページを作成することが可能。新たなページの追加も簡単でページ数には制限がありません。

Google Apps Script

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

Q&A

解決済

1回答

4950閲覧

スプレッドシートのタイムスタンプを年月日のみにしてGoogleサイトに表として表示したい

yoy_chem

総合スコア3

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google サイト

Google サイトは、Google社が提供する無料のホームページ作成ツールです。プログラミングやデザインなどの知識がなくても、ブラウザから容易にWebページを作成することが可能。新たなページの追加も簡単でページ数には制限がありません。

Google Apps Script

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

0グッド

0クリップ

投稿2021/08/10 05:37

編集2021/08/10 06:03

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更新履歴

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

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

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

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

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

guest

回答1

0

ベストアンサー

createTemplateFromFileに指定するのはHTMLファイル名ですが、指定されているHP更新履歴はHTMLファイルではないのではないですか?

追記

formatDate(new Date(data[i][0]),'yyyy/MM/dd')

これが問題かもしれません。
formatDateのパラメーターは(date, timeZone, format)です。1つ足りません。

投稿2021/08/10 05:59

編集2021/08/10 06:41
itagagaki

総合スコア8402

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

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

yoy_chem

2021/08/10 06:01

すみません、表記するのを忘れていたのですが HTML名もHP更新履歴にしています。
itagagaki

2021/08/10 06:14

うーん、しかしエラーは doGet @ コード.gs:2 ということで、おそらく return HtmlService.createTemplateFromFile("HP更新履歴").evaluate(); に問題がありそうなんですよね。 回答になっておらずすみませんが。
yoy_chem

2021/08/10 06:25

一度HTML名を変更し、変更後の名前を入力もしてみましたが だめでした... HTMLは問題ないでしょうか?
itagagaki

2021/08/10 06:39

formatDate(new Date(data[i][0]),'yyyy/MM/dd') これが問題かもしれません。 formatDateのパラメーターは(date, timeZone, format)です。1つ足りません。
yoy_chem

2021/08/10 07:05

ありがとうございます。 timezone を入力したところ、うまくいきました。 お手数おかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問