ここから本文です

Google Apps ScriptでGoogle Formの自動応答を組んでいます。 ネットの情報を参...

mov********さん

2017/7/821:19:58

Google Apps ScriptでGoogle Formの自動応答を組んでいます。

ネットの情報を参考にしながら作りましたが、
宛名の部分がうまくいきません。

名前だけを宛名として使用したいのですが、
所属以外のデータが宛名に入ってしまいます。

間違っているところをぜひご指摘ください。
お願いします。

function myFunction() {

var title = "Sample";
var body
= "Google Formからの登録ありがとうございました。\n"
+"下記のとおり登録を受け付けました。\n\n"
+ "------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+ "確認後、返信させていただきます";


var name = '名前';
var posi = '所属';
var tel = '電話';
var mail = 'メールアドレス';
var address = "";

var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getLastRow();
var cols = sheet.getLastColumn();
var rg = sheet.getDataRange();
Logger.log("rows="+rows+" cols="+cols);

for (var i = 1; i <= cols; i++ ) {
var col_name = rg.getCell(1, i).getValue();
var col_value = rg.getCell(rows, i).getValue();
body += "■"+col_name+"\n";
body += col_value + "\n\n";

if ( col_name === mail ) {
address = col_value;
}

if ( col_name === name ) {
body = col_value+" 様\n\n"+body;
}

if ( col_name === tel ) {
body = col_value+body;
}

if ( col_name === mail ) {
body = col_value+body;
}
}
body += footer;


GmailApp.sendEmail(address, title, body);
}

閲覧数:
39
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

バッキーさん

2017/7/822:35:38

直接の回答ではないのですが、onSubmitイベントで呼び出される関数は引数でユーザーが回答した FormResponse を参照できますので、直接セルの中身を覗くのではなく、FormResponseを使ったほうがいいのではないでしょうか。

ドキュメント:
"Event Objects  |  Apps Script  |  Google Developers"
https://developers.google.com/apps-script/guides/triggers/events#fo...

FormResponseの使用例:
"意外とカンタン!Googleフォームの回答をメールアドレスに送る方法まとめ |UI/UXデザイン アプリ/サービス開発 | UI/UXデザインのアジケ ajike"
http://www.ajike.co.jp/switch/googleform_gas01/

  • バッキーさん

    2017/7/822:50:14

    あー、上手くいかない理由がなんとなく分かりました。


    if ( col_name === name ) {
    body = col_value+" 様\n\n"+body;
    }

    if ( col_name === tel ) {
    body = col_value+body;
    }

    if ( col_name === mail ) {
    body = col_value+body;
    }


    これなんですが、フォーム上の name, tel, mailの 並びはどうなっていますか?

    おそらく name -> tel -> mail の順ではないかと思うのですが、そうすると

    body
    name + body
    tel + name + body
    mail + tel + name + body

    というような感じで、bodyの前に値を挿入してますので、結果がおかしくなるのではないでしょうか。

    ※ 長くなるので2つに分けます。

  • その他の返信(4件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/7/9 09:57:15

大変参考になるアドバイス、並びに質問にも迅速に対応していただきありがとうございました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる