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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1624閲覧

HTMLからのdoPost処理を用いて、スプレッドシートへ書き込み処理を行う(GASを使用)

Bombyx

総合スコア0

Google Apps Script

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/04/25 12:54

前提・実現したいこと

Google Apps Scriptを用いて、HTMLで作成した入力フォームから得られた情報(数字)を,スプレッドシートへ記載する機能を実装したいと考えています。

発生している問題・エラーメッセージ

入力フォームで得られた情報がスプレッドシートの指定箇所に書き込まれず、空白のままになってしまいます。

該当のソースコード

HTMLファイルのコード

<!DOCTYPE html> <html lang="ja"> <head> <base target="_top"> </head> <body> <h1>数字書きこみ</h1> <form method="post"action="文末がexecのURL"> 数字:<input type=”text” name=”name”><br> <input type="submit"value=”送信”> </form> </body> </html>

gsコード
function doGet() {
return HtmlService.createTemplateFromFile("html").evaluate();
}

function doPost(postdata){

var sh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

var name=postdata.parameter.name;

sh.getRange(1,1).setValue(name);
}

試したこと

試しにsh.getRange(1,1).setValue("sample")とすると、書き込み処理が正常に行われるため、パラメータが正しく取得できていないのではないかと考えています。
また、コードを更新するたびに、最新バージョンを公開しています。

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

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

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

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

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

guest

回答1

0

getActiveSpreadsheet()

これはスプレッドシートを開いてるときに使うメソッドです。
openbyidを使います。

投稿2020/04/26 06:51

officeforest

総合スコア412

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

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

Bombyx

2020/04/26 08:58

回答していただきありがとうございます。 ご指摘していただいた通り、openByIdのコマンドを使用するメソッドに変更いたしました。 しかしながら、依然としてHTMLから送られてきたパラメータをスプレッドシートへ書き込むことができませんでしたので、原因が他の要素にあるように思われます。
officeforest

2020/04/26 09:25

きちんgetsheetbunameでシート名h指定しましたか?
Bombyx

2020/04/26 10:32

はい,シート名は指定しております。 ちなみにgsコード内最終行を sh.getRange(1,1).setValue(name)⇒sh.getRange(1,1).setValue("サンプル") などのように書き込む内容を変更するとちゃんと書き込まれます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問