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

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

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

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

JavaScript

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

Q&A

1回答

1200閲覧

WEB画面で登録後の編集(GAS)

sansam

総合スコア18

Google Apps Script

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

JavaScript

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

0グッド

2クリップ

投稿2020/02/16 12:20

編集2020/02/17 13:13

やりたいこと
1、HTMLで登録したデータをスプレッドシートに反映(ここまではできた)
2、登録済みのデータをHTMLの登録画面で呼び出して、編集できるようにして、スプレッドシートに上書き修正したい

考えたこと
1,で登録後に、ユニークな登録番号と、URLを採番し、そのURLを開けば、修正したいデータのみ編集できる
1)データを特定できるユニークな登録番号の採番
2)データごとに、修正用のURLを生成し、スプレッドシートにその情報をもたせ、登録者にメールで
編集URLをお知らせする

データ1件につき、ユニークなURLを発行して、スプレッドシートにもたせる手段はないでしょうか?

画面レイアウト①
入力項目
(氏名) Aさん
(年齢)20歳
登録ボタン

画面レイアウト2
URL http://www.XXXXXXXXXX.XXXXX
登録番号 001
入力項目
(氏名) Aさん
(年齢)24歳
修正ボタン

コード.gs

GAS

1 2function doGet() { 3 4 var toppage=HtmlService.createTemplateFromFile("index"); 5 6 return toppage.evaluate(); 7 8} 9 10function doPost(postdata){ 11 12 var sh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 13 var time=new Date(); 14 15 var name=postdata.parameters.name.toString(); 16 var gender=postdata.parameters.gender.toString(); 17 var animal=postdata.parameters.animal.toString(); 18 19 sh.appendRow([time,name,gender,animal]); 20 21 var resultpage=HtmlService.createTemplateFromFile("result"); 22 return resultpage.evaluate(); 23} 24 25 26 27 28

index.hml

HTML

1<!DOCTYPE html> 2<html> 3 4<head> 5 <base target="_top"> 6</head> 7 8<body> 9 <h1>doPostによる方法</h1> 10 <form method="post" action="https://script.google.com/macros/s/AKfycbx5NoJ0a-mmEZSsKMsckzGTXgpxK9tY3C0IxcJd9Q/exec"> 11 氏名:<input type="text" name="name" id="name"><br> 12 性別: 13 <input type="radio" name="gender" value="男性">男性 14 <input type="radio" name="gender" value="女性">女性<br> 15 好きな動物: 16 <input type="checkbox" name="animal" value="犬">いぬ 17 <input type="checkbox" name="animal" value="猫">ねこ 18 <input type="checkbox" name="animal" value="うさぎ">うさぎ<br> 19 <input type="submit" value="送信する"> 20 </form> 21</body> 22</html> 23

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

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

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

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

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

guest

回答1

0

データ1件につき、ユニークなURLを発行して、スプレッドシートにもたせる手段は

ないです。

doGet の Parameterで解釈できるよう url のクエリストリングに指定すればいいのではないかと思います。シート id のようにランダムなidにしないと他の人が編集できてしまうとかいう悩みがあるのかもしれないですが、ユニークな登録番号をランダムな文字列にすればいいですし、まあどうしてもというなら全部別のスプレッドシートにすればいいのではないかと思います。

投稿2020/02/17 14:58

papinianus

総合スコア12705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問