1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GASで出勤日数確認メールを一斉に送る(経費・控除額・補助額など)

Last updated at Posted at 2024-01-10

送信用のデータを作る

送信用のデータを作成します。まず、スプレッドシートで「名前」「メールアドレス」「出勤日数」の表を作成します。
image.png

GASを開く

GASを開きます。スプレッドシートが完成したら、拡張機能から「Apps Script」を選択してGASを開きます。
image.png

コードを書いて実行する

コードを書き、実行します。以下のコードをスプレッドシートに書き込んでください(コードは下部に示されています)。
image.png

ボタンをクリックして実行します。フロッピーボタンでコードを保存し、「>実行」をクリックしてテストしてみてください。

function myFunction() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
  const sheet = spreadsheet.getSheetByName('シート1')
  var cell = sheet.getRange("A1");

  const lastRow = sheet.getLastRow();
  const lastColumn = sheet.getLastColumn();

  const itemValues = sheet.getRange(2,1,lastRow-1,lastColumn).getValues();

  for(let i = 0;i<lastRow-1;i++){
    const recipient = itemValues[i][1];//送信先のメールアドレス
    const subject = '○○の確認';//件名
    const toName = itemValues[i][0];//送信先の担当者名
    const body = '${toName}\n\n'
      + '\nお世話になります。下記内容をご確認の上、不服がございましたらご連絡ください。\n' ;
     + '<table border><tr><th>金額</th><td>'+ itemValues[i][2].toString()+'</td></table>'
     
    const options = { name: '経理担当 ヤマダ',htmlBody: body };  //送信者の名前
    GmailApp.sendEmail(recipient, subject, body, options);
  }
}

注意
const,var,letなどの使い分けは気にしてないのでいい感じにしてください。

経緯と応用

社内のお知らせや部署ごとのメール送信、営業用のメールなど、一括で多くのメールを送信したい場合に役立ちます。以前はPHPでウェブシステムを作成したり、配信メールやacmailerなどのツールを導入したりしていましたが、それほど必要な場合でもないことが多く、時間を無駄にしていました。そこで、GASを試してみたところ、簡単に実装できたので、共有したいと思いました。様々なシーンで活用していただければと思います。

参考

https://m-kenomemo.com/gas-getrange/
https://caymezon.com/gas-offset/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?