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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

Q&A

0回答

634閲覧

自動返信を設定しているスクリプトに添付ファイルをつけるコードの追加

reon-min_g.r

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

0グッド

0クリップ

投稿2021/02/18 02:58

お世話になります。
googleフォームのアンケートに回答して頂いた方に、添付ファイル付き自動返信メールを送信させたいと思い質問させて頂きます。
以前自動返信機能は作成していたのですが
この度添付ファイルも追加しなければいけなくなったのですが
機能を追加という形でご教授頂ければ助かります。

・ファイルの保存場所はGoogleドライブのマイドライブ
https://drive.google.com/drive/my-drive

・添付ファイル(PDF)
https://drive.google.com/file/d/**************************/view?usp=sharing

・以前作成した自動返信するコード
function sendMailGoogleForm() {
Logger.log('sendMailGoogleForm() debug start');

//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------

// 件名、本文、フッター
var subject = "[]";
var body
= "この度は、****************************
+"------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+"当日はお気をつけてお越しください。\nよろしくお願いいたします。";

// 入力カラム名の指定
var NAME_COL_NAME = '氏名';
var MAIL_COL_NAME = 'メールアドレス';

// メール送信先
var admin = "私のアドレス"; // 管理者(必須)
var sendername = "会社名";//送信者名(必須)
var cc = ""; // Cc:
var bcc = admin; // Bcc:
var to = ""; // To: (入力者のアドレスが自動で入ります)

//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------

try{
// スプレッドシートの操作
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 === NAME_COL_NAME ) {
body = col_value+" 様\n\n"+body;
}
if ( col_name === MAIL_COL_NAME ) {
to = col_value;
}
}
body += footer;

// 送信先オプション
var options = {name: sendername};
if ( cc ) options.cc = cc;
if ( bcc ) options.bcc = bcc;

// メール送信
if ( to ) {
MailApp.sendEmail(to, subject, body, options);
}else{
MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
}
}catch(e){
MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
}
}
function dateToString(date){
var toString = Object.prototype.toString
if(!toString.call(date).match(/Date/)) return date;
return date.toLocaleString().replace(/(\d{4}).(\d{1,2}).(\d{1,2})/,'$1年$2月$3日').replace(/ JST/,'');
}

上記に追加する形で
どの部分に、どのようなコードを追加すれば良いか
サンプルコード等で教えて頂けばと思います。
上記のコードもネットから拝借したものをなんとか自分で使えるように作成したものですので
GASの知識はほぼありません…
宜しくお願いいたします。

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

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

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

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

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

sawa

2021/02/21 09:01

"GAS MailApp.sendEmail 添付" あたりで検索すると解説サイトが色々あるので、まずはそういったものを参考にコード修正を試してみることをお勧めします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問