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

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

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

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

1回答

6156閲覧

Googleフォームでアップロードされるファイル名の変更方法

gattiritiri

総合スコア0

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/06/07 06:22

前提・実現したいこと

Googleフォームにて、集計した画像のファイル名の自動変更のプログラムを作成しようと考えております。
「1店名 2名前 3業態 4画像アップロード」というフォームを作成し、
画像の保存先であるドライブ内のフォルダ名を「店名_名前_業態」のように変更させたいのです。

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

TypeError: Cannot read property 'response' of undefined myFunction @ コード.gs:7

7行目のコードがエラーになってしまいます。
最近GASを始めたので、他のコードが間違っている可能性もあります。

該当のソースコード

function myFunction(e) { var itemResponse; var fileName; var photo; // フォームの回答結果を取得 itemResponses = e.response.getItemResponses(); // 店名_名前_業態 の順番で文字列を連結させてファイル名を作成する itemResponse = itemResponses[0]; fileName = itemResponses[0].getResponse() + '_' + itemResponses.getResponse(); // アップロードされた写真の名前を設定 itemResponse = itemResponses[1]; photo = DriveApp.getFileById(itemResponse.getResponse()); photo.setName(fileName); }

試したこと

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

guest

回答1

0

eはイベントオブジェクトですが、これがundefinedになっています。
ということは、このmyFunctionはイベントのトリガーにより実行されたのではなく(もしそうなら有効なイベントオブジェクトがeとして渡されているはずなので)、スクリプトエディタ等で直接(引数なしで)実行したのではないですか?

投稿2021/06/07 07:12

itagagaki

総合スコア8402

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

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

gattiritiri

2021/06/07 08:34

回答してくださってありがとうございます。 勉強不足のため、見当違いなことを言ってしまうかもしれませんが、 トリガーをフォーム送信時に設定はしているのですが、何度やっても上記のエラーコードが出てきてしまいます…。
itagagaki

2021/06/07 09:12

質問に書かれているエラーメッセージはどこで確認しましたか?
gattiritiri

2021/06/08 00:44

出力した際に画面下に出てくる「お知らせ 実行開始」の下にエラーコードとして表示されました。
itagagaki

2021/06/08 01:12

Apps Script エディタの実行ログですね? ということは、やはりトリガーで実行されたのではなくて、手動でエディタの「実行」ボタンを押して実行したのではないですか? トリガーによる実行を含むすべての実行ログは、エディタの左のメニューにある「実行数」をクリックすると一覧が表示されます。その一覧で、種類が「トリガー」になっているものがあれば、それはトリガーによってじっこうされたものです。それをクリックすると実行ログが確認できます。コードに console.log() を仕込んでおけば、それもログに出力されます。 まずはトリガー実行のログを確認してください。
gattiritiri

2021/06/09 03:57

ずっと手動のエディタで実行していました、、、 ですが、トリガーで実行しても同様のエラーになってしまいました。何かコードで変な箇所がありましたらご教授頂けないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問