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

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

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

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

Google

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

Q&A

解決済

1回答

2336閲覧

【GAS】googleフォームからのメール自動配信 スプレットシートのリンクの貼り付け方

coniii

総合スコア13

Google Apps Script

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

Google

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

0グッド

1クリップ

投稿2018/10/10 06:38

編集2018/10/10 08:40

以前質問させて頂いた、googleフォームからメール自動配信をする方法について追加で質問です。

メール配信時に、フォームから反映されているスプレットシートをリンクさせてたいのですが、
スクリプトが分からず問合せになります。
ハイパーリンク関数を使うのでしょうか?
※メール本文にリンクが出るようにする(メールの一番下にスプレットシートが添付されている状態)

現在作成しているスクリプトは下記のとおりです。
リンクを貼り付けるようなスクリプトをご教示頂きたく、よろしくお願い致します。

javascript

1 2function myFunction() { 3 4 5// 件名、本文、フッター 6var subject = "お申込書の送付"; 7var body 8 ="ご担当者様\n\n" 9 +"お疲れ様です。\n\n" 10 + "以下の内容にてお申込みがありましたのでご対応をお願い致します。\n" 11 + "---------------------------------------------------------------------------------\n"; 12var footer 13 = "---------------------------------------------------------------------------------\n\n" 14 + "どうぞよろしくお願い致します。\n" 15 16 17 + "====================================================\n" 18署名 19+ "====================================================\n" 20 21 22// 入力カラム名の指定 23var NAME_COL_NAME = '申込者名'; 24var MAIL_COL_NAME = 'メールアドレス'; 25var TIMESTAMP_LABEL = 'タイムスタンプ'; 26var BODY_FORM_NAME = '申込書番号'; //フォーム作成時に設定した項目名 27var BODY_FORM_NAME = '申込種別'; //フォーム作成時に設定した項目名 28var BODY_FORM_NAME = '契約種別'; //フォーム作成時に設定した項目名 29var BODY_FORM_NAME = '希望日'; //フォーム作成時に設定した項目名 30var BODY_FORM_NAME = '申込者名'; //フォーム作成時に設定した項目名 31var BODY_FORM_NAME = '電話番号'; //フォーム作成時に設定した項目名 32var BODY_FORM_NAME = '交換所'; //フォーム作成時に設定した項目名 33var BODY_FORM_NAME = '専用線ID'; //フォーム作成時に設定した項目名 34var BODY_FORM_NAME = '報告要否'; //フォーム作成時に設定した項目名 35var BODY_FORM_NAME = '特記事項'; //フォーム作成時に設定した項目名 36var BODY_FORM_NAME = 'primedrive送付キー' //フォーム作成時に設定した項目名 37 38// メール送信先 39var admin = "アドレス"; // 管理者(必須) 40var cc = ""; // Cc: 41var reply = admin; // Reply-To: 42var to = ""; // To: (入力者のアドレスが自動で入ります) 43 44//------------------------------------------------------------ 45// 設定エリアここまで 46//------------------------------------------------------------ 47 48try{ 49// スプレッドシートの操作 50var sh = SpreadsheetApp.getActiveSheet(); 51var rows = sh.getLastRow(); 52var cols = sh.getLastColumn(); 53var rg = sh.getDataRange(); 54Logger.log("rows="+rows+" cols="+cols); 55 56// メール件名・本文作成と送信先メールアドレス取得 57for (var j = 1; j <= cols; j++ ) { 58var col_name = rg.getCell(1, j).getValue(); // カラム名 59var col_value = rg.getCell(rows, j).getValue(); // 入力値 60  61 62if ( col_name === MAIL_COL_NAME ) {  //メールアドレス 63to = col_value; 64} 65if ( col_name === TIMESTAMP_LABEL ) { //タイムスタンプ⇒申込日時 66col_name = '申込日時'; 67} 68// 日付のフォーマットを指定。 69 70if (col_name === '希望日' && col_value != '') { // 2018/10/05修正 71col_value = Utilities.formatDate(col_value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'"); 72} 73body += "【"+col_name+"】\n"; 74body += col_value + "\n\n"; 75} 76body += footer; 77 78 79 80// 送信先オプション 81var options = {}; 82if ( cc ) options.cc = cc; 83if ( reply ) options.replyTo = reply; 84 85// メール送信 86if ( to ) { 87MailApp.sendEmail(to, subject, body, options); 88}else{ 89MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); 90} 91}catch(e){ 92MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); 93} 94}

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

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

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

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

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

papinianus

2018/10/10 08:11

お願いなのですが、コードをはるときには、```javascriptと```で囲んでください(`は@マークのキーをシフトを押しながら入力)。あるいは<code>というボタンを押して挿入される記号の間に貼ってください
papinianus

2018/10/10 08:38

おしい。```javascriptをコードの前に、```をコードの後に書いてほしいのです。これは解決したので次回からで結構です。
guest

回答1

0

ベストアンサー

スプレッドシートのアドレスは、sh.getParent().getUrl()で取得できますので、例えば。
body += footer;の1行を

javascript

1body += sh.getParent().getUrl(); 2body += "\n"; 3body += footer;

の3行に増やせば、リンクは貼れると思います。

投稿2018/10/10 08:09

編集2018/10/10 08:10
papinianus

総合スコア12705

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

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

coniii

2018/10/10 08:34

いつもご回答頂きありがとうございます。早速確認してみて反映されていることが確認できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問