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

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

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

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

Google

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

Q&A

解決済

1回答

3768閲覧

グーグルフォーム:通知メールの件名に差込をいれたい

koharu24

総合スコア1

Google Apps Script

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

Google

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

0グッド

2クリップ

投稿2021/09/16 02:50

編集2021/09/16 02:52

前提・実現したいこと

社内でグーグルフォームを使用して、
申請受付→管理者へ通知→作業開始するというものを構築しようと思い作業中です。

管理者への通知(複数やslack通知もしたい)にはGASを使用すれば良いことが分かったので、
自分なりに調べて目標に近い形には近づいてきました。

ただ、通知メールに件名の差し込みをしたいのですが
どのようにすれば良いのか分かりません。どなたか教えていただけると助かります。

例:社名等を入れたい
現在GASに張り付けているソースは以下の通りです。
【申請】発行依頼となっている件名を、【申請】差込社名+発行依頼にしたいです。

(※私はエンジニア等ではなく一般社員です。今回自力で調べているのですが本当の素人なので質問の仕方からおかしいところがあったら申し訳ありません。)

該当のソースコード

function sendForm(e){
// メールの件名
var subject = "【申請】発行依頼";
// メール本文
var body = "以下の内容で申請がありました。https://docs.google.com/spreadsheets/d/〇〇〇〇";
// ☆メール送信先☆
var to = "〇〇〇〇.com,〇〇〇@slack.com";
// 送信メールの名前

var itemResponses = e.response.getItemResponses();
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
// Googleフォームの質問項目
body += "\n\n■" + question + "\n\n";
// 質問に対する回答内容
body += answer;
}
MailApp.sendEmail({to:to,subject:subject, body:body});
}

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

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

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

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

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

guest

回答1

0

ベストアンサー

GAS

1var subject = "【申請】発行依頼";

のところを、以下のようにすれば社名などを入れられると思います。

GAS

1// 社名 2var companyName = `社名を入れてください。`; 3// メールの件名 4var subject = `【申請】${companyName} 発行依頼`;

投稿2021/09/17 10:05

fake_shibe

総合スコア806

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

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

koharu24

2021/09/21 00:05

御礼が遅くなり申し訳ありません。 ご回答いただきありがとうございます!試してみます!
koharu24

2021/09/21 01:57 編集

fake_shibeさま 度々申し訳ありません! この度はご親切に教えていただきありがとうございます。 ご教示いただいたソースコードで試してみたのですが、 下記の件名で通知メールが届きました。 ------------------------------------------------ 【申請】社名を入れてください。 発行依頼 ------------------------------------------------ `社名を入れてください。`という文言そのものが出てきてしまいました。 お忙しいところ大変恐縮ですが、何か影響の可能性を教えていただけると幸いです。 素人のため質問も分かりにくかったら申し訳ありません。 宜しくお願いいたします。
fake_shibe

2021/09/21 05:55

var companyName = `社名を入れてください。`; 社名を入れてください。のところを会社名にしてください。 例えば、var companyName = `グーグル`; または、var companyName = `マイクロソフト`;のような感じです。 それとも、グーグルフォームから送られてきたデータに社名などがあるのでしょうか?
koharu24

2021/09/21 07:30

fake_shibeさま お忙しいところありがとうございます。 質問が分かりにくく申し訳ありませんでした。 >それとも、グーグルフォームから送られてきたデータに社名などがあるのでしょうか? はい。上記のようにご記入いただいたとおりです。 グーグルフォームから送られてきたデータの1項目として会社名もあるのですが その会社名を、件名に差込みで挿入したいと考えております。
fake_shibe

2021/09/21 08:29

会社名は何番目の質問でしょうか?または、会社名の質問のタイトルはなんでしょうか?よろしくおねがいします。一応できそうなコードを書いておきます。 function sendForm(e) { // 社名 var companyName = ``; // メール本文 var body = "以下の内容で申請がありました。https://docs.google.com/spreadsheets/d/〇〇〇〇"; // ☆メール送信先☆ var to = "〇〇〇〇.com,〇〇〇@slack.com"; // 送信メールの名前 var itemResponses = e.response.getItemResponses(); for (var i = 0; i < itemResponses.length; i++) { var itemResponse = itemResponses[i]; var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); // Googleフォームの質問項目 body += "\n\n■" + question + "\n\n"; // 質問に対する回答内容 body += answer; if (/会社名/.test(question)) { companyName = answer; } } // メールの件名 var subject = `【申請】${companyName} 発行依頼`; MailApp.sendEmail({ to: to, subject: subject, body: body }); }
koharu24

2021/09/22 05:11

fake_shibeさま 確認が遅くなり申し訳ありません。 早急にご教示いただきありがとうございました。 今いただいたソースコードで試してみたところ反映できました!! この度は素人の質問にご親切にご回答いただき本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問