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

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

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

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

JavaScript

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

Q&A

解決済

1回答

1657閲覧

【GAS】トリガーがうまく作動しない

ShokiYamada

総合スコア14

Google Apps Script

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

JavaScript

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

0グッド

0クリップ

投稿2018/12/01 03:47

編集2018/12/01 04:29

やりたいことは
①フォームを送信
②ファームの回答を指定のセルに集計
③請求書自動発行(PDF)
④発行したPDFを自動送信

②の過程で躓いています。
スクリプトを実行しようとするとエラーとなるからです。
以下スクリプト

Google

1function form(e) { 2 3 var number = e.namedValues["NO:"]; 4 var dateofissue = e.namedValues["発行日:"]; 5 var name = e.namedValues[" "]; 6 var deadline = e.namedValues["お支払い期限"]; 7 var amount = e.namedValues["ご請求金額"]; 8 9 var ss_id = '[1miLb-HtrhpbmDFNrsjaNPeZgVyx3019tEjBs01HmyHE]'; //スプレッドシートのIDを指定 10 var sh_name = 'PDFフォーム'; //スプレッドシートのシート名を指定 11 var sh = SpreadsheetApp.openById(ss_id).getSheetByName(sh_name); 12 13sh.getRange(number + 'G2').setValue(number); 14sh.getRange(dateofissue + 'G3').setValue(dateofissue); 15sh.getRange(name + 'G4').setValue(name); 16sh.getRange(deadline + 'E7:G7').setValue(deadline); 17sh.getRange(amount + 'F11').setValue(amount); 18 19}

エラーメッセージは以下です。

TypeError: undefined からプロパティ「namedValues」を読み取れません。(行 3、ファイル「コード」)

スプレッドシートのスクリーンショットも載せておきます。
本人、プログラミング経験がなく模索しながらですのでご容赦ください。
ご回答お待ちしております。

イメージ説明

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

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

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

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

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

m.ts10806

2018/12/01 04:26

このタイトルでは要件がわかりませんのでもっと質問内容に寄せた内容にしてください
guest

回答1

0

ベストアンサー

e に何も入っていないのでしょう。
どこかで呼び出しているなら呼び出し側が間違っていますし、イベントハンドラなら名前が間違っています。

投稿2018/12/01 03:52

Zuishin

総合スコア28656

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

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

ShokiYamada

2018/12/01 03:54

eにはフォームの回答が格納されるそうです。実際にフォームも作って送信済みです。他にスクリプトなど書く必要があるのでしょうか?
Zuishin

2018/12/01 03:58

どこ情報ですか?
Zuishin

2018/12/01 04:02

ではトリガーの作成に失敗しているのではありませんか?
ShokiYamada

2018/12/01 04:06

指示通りform関数-スプレッドシートから-フォーム送信時を選択しました。
ShokiYamada

2018/12/01 04:09

失礼いたしました。作成はできているものの失敗しているみたいです。
Zuishin

2018/12/01 04:32

複数のユーザーを使っていませんか? 認証したユーザーの権限で実行されますから、もしそうならログインし直してください。
ShokiYamada

2018/12/01 04:40

1つのユーザーで実行しております。 失敗ステータスを確認をしたところ、そもそもスクリプトに問題があるようで、書き直してから試してみます。 ご回答ありがとうございました。
papinianus

2018/12/04 05:33

スクリプトの問題ではありません。 関数を実行をしている限りこのエラーは解消しません。 トリガーを設定しなおかつフォームを送ることでしかテストは行えません。
ShokiYamada

2018/12/05 17:26

コメントありがとうございます。 そのようですね…何度か試す内に気がつきました、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問