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

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

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

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

Google フォーム

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

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

Q&A

解決済

1回答

346閲覧

スプレッドシートをGASでエクセル化して自動送信(CC設定について)

ayataka_7031

総合スコア1

Google スプレッドシート

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

Google フォーム

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

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

0グッド

1クリップ

投稿2023/10/08 08:42

### 実現したいこと

Googleフォームに回答があったら「スプレッドシートA」に記録して、
「スプレッドシートB」の3箇所に内容を転記する。
その後「スプレッドシートB」をまるごとExcelに変換して、出庫依頼メールを送信する。
社内や社外に共有が必要なため、CCは必須で 可能ならBCCとReplyToも設定したい。
※「スプレッドシートB」の拡張機能より"Google Apps Script"を設定している。

### 前提

商品や原料・資材の物流についての仲介作業を自動化したい。
"工場から資材発注依頼があったら、倉庫へ出庫連絡をする"という不定期かつ頻度の高い業務です。
Excelに変換して、出庫依頼メールを送信するところまでは問題なくできているが
基礎的なCC・BCCとReplyToの設定がうまく出来ない。解決策を教えていただきたいです。

### 発生している問題・エラーメッセージ

エラーメッセージ
Exception: The parameters (String,String,String,String,(class)) don't match the method signature for MailApp.sendEmail.
sendMail_Excel @ Excelをメールで送る.gs:52

### 該当のソースコード

function sendMail_Excel() {
// フォルダ、ファイル関係
var targetFileId = ["スプレッドシートBのID"];
var clientname = ["【会社名】"];
var key;

// メール関係
var mailto = "■■■■@sample.com";
var subject = clientname + "資材(" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + ")出荷依頼データのご送付";
var options =
name = '資材発注担当';
replyTo = '□□□□@sample.com';
bcc = '△△△△@sample.com';
cc = '〇〇〇〇@sample.com',●●●●@sample.com';

var body = "倉庫の会社様\n";
body += '■■ 様\n';
body += '\n';
body += 'お世話になっております。\n';
body += '□□です。\n';
body += '\n';
body += '出荷依頼データをお送り致します。\n';
body += 'ご対応をお願いできますでしょうか。\n';
body += '\n';
body += '何卒よろしくお願い申し上げます。\n';

// その他
var nowDate = Utilities.formatDate(new Date(), 'JST', 'yyyyMMdd');
var fetchUrl;
var fetchOpt = {
"headers" : { Authorization: "Bearer " + ScriptApp.getOAuthToken() },
"muteHttpExceptions" : true,
};

var xlsxName;
var attachmentFiles = new Array();

// 添付するファイルの名前を指定
xlsxName = clientname + "■■倉庫_出荷依頼フォーマット.xlsx";

try
{
fetchUrl = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + targetFileId + "&exportFormat=xlsx";
attachmentFiles.push(UrlFetchApp.fetch(fetchUrl, fetchOpt).getBlob().setName(xlsxName));
}
catch(e){
subject = "ERROR:" + subject;
body = "エラー : " + e.message;
}

// メール送信
MailApp.sendEmail(mailto, subject, options, body,{attachments:attachmentFiles});
}

### 試したこと

上記コード内の「Options(太字が該当)」を削除すればエラーはなく、TO宛に送信ができているのですが、実装するためにはCC設定が必須です。
「var options = ~~」の代わりに、「const options = { cc: '〇〇〇〇@sample.com' };」や「let options = { cc: '〇〇〇〇@sample.com' };」としてもエラーが出てしまいました。
最終行を「 GmailApp.sendEmail(recipient, subject, body, {cc:cc, bcc:bcc}); //送信 」としてもダメでした。
CCを入れたいだけなのですが、どこに何と入れれば出来るのでしょうか…?

補足情報(FW/ツールのバージョンなど)

Googleフォーム、スプレッドシート2つ、GAS使用

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

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

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

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

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

guest

回答1

0

ベストアンサー

リファレンスを見れば分かりますが引数にsendEmail(mailto, subject, options, body,{attachments:attachmentFiles})を受け付けるようなものはありません。
sendEmail(recipient, subject, body, options) があてはまるでしょう。

JavaScript

1let options = { 2 cc:"CCで送るメールアドレス1,CCで送るメールアドレス2", 3 bcc:"BCCで送るメールアドレス", 4 attachments:attachmentFiles 5}; 6MailApp.sendEmail(mailto, subject, body, options);

といった感じでオプションを設定しましょう。

投稿2023/10/08 09:57

YAmaGNZ

総合スコア10210

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

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

ayataka_7031

2023/10/11 12:26

「body = "エラー : " + e.message;}」のあとにそのまま入れたら 正常に作動しました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問