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

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

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

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

Q&A

0回答

446閲覧

フォームを送信してスプレッドシートに記録する

Halhalhal

総合スコア11

Google Apps Script

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

0グッド

0クリップ

投稿2021/01/22 07:24

前提・実現したいこと

ウェブ上でフォームを送信し、用意したスプレッドシートに記録する。

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

Exception: SpreadsheetApp オブジェクトでの openById メソッドまたはプロパティの取得中に予期しないエラーが発生しました。(行 2、ファイル「コード」
と出てきます。

該当のソースコード

コード.gs
function doGet(e) {
var app = SpreadsheetApp.openById('AKfycbxYv1QFgTOluOxsOFqnSBXg4hgEp2N9dS--jfY7iSX7t_vHKtVB');
var sheet = app.getSheetByName('住所録');
var range = sheet.getDataRange();
var temp = HtmlService.createTemplateFromFile('index');
temp.title = 'Sample!';
temp.msg = 'データを入力して下さい。';
temp.values = range.getValues();
return temp.evaluate();
}

function doPost(e) {
var name = e.parameter['name'];
var mail = e.parameter['mail'];
var tel = e.parameter['tel'];
var data = [[name, mail, tel]];
var app = SpreadsheetApp.openById("1HKrb8aCR_lM5Ht8pKyJpBKu4hVHlY_atS4UxFEtUjfo");
var sheet = app.getSheetByName('住所録');
var row = sheet.getDataRange().getLastRow();
var r = sheet.getRange(row + 1, 1, 1, 3);
r.setValues(data);
var range = sheet.getDataRange();
var temp = HtmlService.createTemplateFromFile('index');
temp.title = 'Sample!';
temp.msg = '※データを追加しました。';
temp.values = range.getValues();
return temp.evaluate();
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

index.html

<!DOCTYPE html> <html> <head> <base target="_top"> <title>Hello</title> </head> <body> <style> h1 { font-size:60pt; font-weight:bold; text-align:right; color:#f0f0f0; margin:-30px 0px; } tr th { border:#aaa solid 1px; padding:5px; background-color:#999; color:white; } tr td { border:#aaa solid 1px; padding:5px; } </style> <h1><?=title ?></h1> <p><?=msg ?></p> <form action="https://script.google.com/macros/s/AKfycbxYv1QFgTOluOxsOFqnSBXg4hgEp2N9dS--jfY7iSX7t_vHKtVB/exec" method="post"> 氏 名: <input type="text" id="name" name="name"><br> メール: <input type="text" id="mail" name="mail"><br> 電 話: <input type="text" id="tel" name="tel"><br> <input type="submit"> </form> <hr> <table> <? for(var n in values) { var line = values[n]; ?> <tr> <? for(var m in line) { var item = line[m]; if (n == 0 || m == 0) { ?> <th><?=item ?></th> <? } else { ?> <td><?=item ?></td> <? } ?> <? } ?> <? } ?> </table> </body> </html>

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問