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

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

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

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

Gmail

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

Google Apps Script

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

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Google

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

Q&A

0回答

1139閲覧

[GAS] メール一斉送信

tenten1

総合スコア0

Google スプレッドシート

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

Gmail

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

Google Apps Script

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

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Google

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

0グッド

0クリップ

投稿2021/04/13 02:09

前提・実現したいこと

Google Apps Scriptを使用してSpreadSheetに入力してあるメールアドレス、宛名、件名、本文テンプレをGmailで自動一斉送信したいです。
この時、sheetの取得をGetsheetId()[]; を使用。
さらに、SpreadSheetに送信完了したら送信時の時刻と✓を自動入力したいです。
またtry-catchを使用してメールが送信できなかった場合Spreadsheetにエラーを入力したいです。
■■な機能を実装中に以下のエラーメッセージが発生しました。

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

エラーメッセージ

該当のソースコード

Google Apps Script
JavaScript

試したこと

function sub1() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var id = sheet.getSheetId();
var data = sheet.getRange("A1:F4").getValues();
var mail_address = sheet.getRange("A1:A4").getValues();
for (var j =0; j< 4; j++) {
for (var i =0; i< 4; i++ ) {
sendMail(mail_address[i], data[j]);
}
}
}
// メールを送る
function sendMail(mail_address, data) {
var subject1 =
var body =
var message= data ;
MailApp.sendEmail({to:mail_address , subject:subject1, body:body + message });
}

//getting spreadsheet
//var id =SpreadsheetApp.getActiveSheet().getSheetId();
//Logger.log(id.toString());

//var sheet= spreadsheet.getSheets()[0]; // to メールアドレス
//var name =ss.getActivesheets()[0].getRange('B2:B4').getValue(); // 差出人の名前
//var subject =ss.getActivesheets()[0].getRange('D2').getValue(); // メールタイトル
//var body = ss.getAvtivesheets()[1].getRange('A1').getValue(); // 本文
//GmailApp.sendEmail(recipient, subject, body, { attachments: attachments });

//enter the timestamp into the cell
if (col == 5)//5 is E
var col = range.getColumn(5);
var time = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd HH:mm');
//console.log(ss.getRange('E2:E4').getA1Notation());
//sheet.getRange('E2:E4').setValue(time);// 4 is E列

//checkbox in the sheet
var checkbox
//checkbox = ss.getSheets()[0].getRange('F2:F4').setValue("✔");

//Get attachments from Drive
var folderId = ('1xM4GBqq_RpB4SkOau4pUWt0TZK6Kmv3K');
var folder = DriveApp.getFolderById('1xM4GBqq_RpB4SkOau4pUWt0TZK6Kmv3K');
var files = folder.getFiles();
var attachments = [];
while (files.hasNext()) attachments.push(files.next());
var fileId = "1hiBe0KSB5093MvutxTq2tHusMT-2ozxjjG8xmHvM7Cc";
var file = DriveApp.getFileById('1hiBe0KSB5093MvutxTq2tHusMT-2ozxjjG8xmHvM7Cc');
console.log(file.getName());

// Try sending email

try {
// send email

var recipient = ss.getsheets()[0].getRange('C2:C4').getValue(); // to メールアドレス
var name =ss.getsheets()[0].getRange('B2:B4').getValue(); // 差出人の名前
var subject =ss.getsheets()[0].getRange('D2').getValue(); // メールタイトル
var body = ss.getsheets()[1].getRange('A1').getValue(); // 本文

GmailApp.sendEmail(recipient, subject, body, { attachments: attachments });

if (attachedFileId) {
var attachedFile = DriveApp.getFileById(attachedFileId); // 添付ファイル
}

GmailApp.sendEmail(recipient, subject, body, { attachments: attachments });

// add check mark for successful sending
checkbox = ss.getsheets()[0].getRange('F2:F4').setValue("✔");

//catch any errors
} catch (e) {
console.log('error:', + e.message, checkbox);

//error = ss.getsheets()[0].getRange('F2:F4').setValue(e);

// report error to user in the sheet
//insert error instead of checkbox

}// return {
//SpreadsheetApp.getUi().toast('Email send failed')

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問