### 実現したいこと
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使用
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/11 12:26