OGICOのInstagram

【GAS】スプレッドシートにメール送信ボタンを付ける方法

雑記

基本的には自分用の備忘録です。
ちらっと見かけて、役にたちそうな方は使ってやってください。
いきなりスクリプトを書いてしまいますが、とりあえず以下のスクリプトを書く必要があります。
説明は順番に。

function sendacceptMail() {
const recipient = 'XXXXXXXX@XXYYZZ.com'; //送信先のメールアドレス
const subject = 'メールの件名です。'; //件名
const recipientCompany = 'メールの宛先です。'; //送信先の会社名
const recipientName = 'メール送信先の担当者名です。'; //送信先の担当者名
var body = `${recipientCompany}\n${recipientName}宛\n`
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  const value = ss.getRange("A2").getValue(); //セルの所在地
body += value;
body += '\nメール本文です。\n';
  const url = ss.getUrl();
body += url; //本文
const options = { name: '送信者名です。(スプレッドシートの名前がいいと思います。)' };  //送信元の名称
var popUp = Browser.msgBox("送信確認", "送信しますか?", Browser.Buttons.OK_CANCEL);
 if (popUp == 'ok') {
GmailApp.sendEmail(recipient, subject, body, options);
Browser.msgBox("送信しました");
} else {
   Browser.msgBox("キャンセルしました");
}
}
スポンサーリンク

スプレッドシートを開きApps Scriptを立ち上げる

メール送信ボタンを設置したいスプレッドシートを開き、Apps Scriptを立ち上げます。

Scriptを書き込む

上記functionをまるっとコピーして貼り付けます。
貼り付けたコードの2行目以下、必要箇所を修正します。

Script名をつける

メール送信なので「send mail」とか?

Scriptに名前を付けたら、デプロイしてしまいます。

種類はウェブアプリで、実行ユーザー・アクセスできるユーザーは適当に選んでください。
一応僕は自分のみにしてます。

デプロイボタンを押すと、アカウントの承認が進み、安全でないアプリケーションへのアクセス許可を求められます。
安全ではないアプリケーションへのアクセスを「許可する」としてそのまま進行し、デプロイを完了します。

スプレッドシートにボタンを設置する

角丸の四角とかがボタンぽくてよいです。

配置したボタンにスクリプトを割り当てる

ボタン右上の3点ポチをクリックすると「スクリプトを割り当て」のメニューが表示されるので、選択。

割り当てるスクリプトを直接書き込むのですが、コードの1行目、function の横に書いた名前をコピペします。

動作確認してみる

ボタンを押してスクリプトが動作するか確認します。

メールが指定のアドレスに届けば完了。

非常に乱暴にざっくりとしたメモを残しましたが、僕は再びこのコードを書くことがあるのだろうか?
自分で書くとしたら、何行目がどんな意味だったか覚えてないんだろうなぁ…

この記事を書いた人
あてさん

新卒でイベント会社に就職。その後レストラン、不動産会社と転々として今はweb関連会社に在籍してます。二輪とダーツとお酒が好きな中年。週末は飼い犬のチワワとサイクリングに出かけます。

あてさんをフォローする
スポンサーリンク
タイトルとURLをコピーしました