「Google/スプレットシート/問い合わせフォーム作成」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→フォームの入力項目作成) |
|||
| 行66: | 行66: | ||
var col_name = rg.getCell(1, j).getValue(); // カラム名 | var col_name = rg.getCell(1, j).getValue(); // カラム名 | ||
var col_value = rg.getCell(rows, j).getValue(); // 入力値 | var col_value = rg.getCell(rows, j).getValue(); // 入力値 | ||
| + | if ( col_name ) { | ||
body += "【"+col_name+"】\n"; | body += "【"+col_name+"】\n"; | ||
body += col_value + "\n\n"; | body += col_value + "\n\n"; | ||
| − | + | if ( col_name === NAME_COL_NAME ) { | |
| − | + | body = col_value+" 様\n\n"+body; | |
| − | + | } | |
| − | + | if ( col_name === MAIL_COL_NAME ) { | |
| − | + | to = col_value; | |
| − | + | } | |
| − | + | if ( col_name === SUBJ_COL_NAME ) { | |
| − | + | subject += col_value; | |
| + | } | ||
} | } | ||
} | } | ||
2015年10月12日 (月) 01:25時点における版
準備
Googleアカウントを作成
Googleドライブにアクセス
スプレットシート作成
新規/Googleスプイレットシートで作成
フォーム作成
挿入/フォーム作成を選択
フォームの入力項目作成
フォーム編集画面の下のアイテム追加から項目を選択
以下を入力
質問のタイトル:メールアドレス 質問のタイプ:テキスト 質問のタイトル:お名前 質問のタイプ:テキスト 質問のタイプ:問い合わせ内容 質問のタイプ:段落テキスト
フォームを使って見る
フォーム編集画面/実際のフォームを見るを選択
回答後にメールを送る
- スプレットシート/ツール/スクリプトエディタを選択
- myfunction(){}を削除して以下をコピーペーストして保存する
function sendMailFromForm() {
Logger.log('sendMailFromForm() debug start');
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
// 件名、本文、フッター
var subject = "[お問い合わせ]";
var body
= "お問い合わせありがとうございます。\n\n"
+ "------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+ "後ほど担当者よりご連絡させていただきます。";
// 入力カラム名の指定
var NAME_COL_NAME = 'お名前';
var MAIL_COL_NAME = 'メールアドレス';
var SUBJ_COL_NAME = '件名';
// メール送信先
var admin = "送信先@google.com"; // 管理者(必須)
var cc = ""; // Cc:
var bcc = admin; // Bcc:
var reply = admin; // Reply-To:
var to = ""; // To: (入力者のアドレスが自動で入ります)
//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------
try{
// スプレッドシートの操作
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
Logger.log("rows="+rows+" cols="+cols);
// メール件名・本文作成と送信先メールアドレス取得
for (var j = 1; j <= cols; j++ ) {
var col_name = rg.getCell(1, j).getValue(); // カラム名
var col_value = rg.getCell(rows, j).getValue(); // 入力値
if ( col_name ) {
body += "【"+col_name+"】\n";
body += col_value + "\n\n";
if ( col_name === NAME_COL_NAME ) {
body = col_value+" 様\n\n"+body;
}
if ( col_name === MAIL_COL_NAME ) {
to = col_value;
}
if ( col_name === SUBJ_COL_NAME ) {
subject += col_value;
}
}
}
body += footer;
// 送信先オプション
var options = {};
if ( cc ) options.cc = cc;
if ( bcc ) options.bcc = bcc;
if ( reply ) options.replyTo = reply;
// メール送信
if ( to ) {
MailApp.sendEmail(to, subject, body, options);
}else{
MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
}
}catch(e){
MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
}
}
- スクリプトエディタ画面/リソース/現在のプロジェクトのトリガーを選択
- sendMailFromForm/スプレットシートからフォーム送信時を選択
- フォーム実行画面から投稿するとメールが送られてくるので確認。
