ToDo完了後に毎回リスト更新、メール送信――VBAでその手順、削減しませんか?働く価値を上げる“VBA/GAS”術(13)(4/4 ページ)

» 2019年01月07日 05時00分 公開
[高橋宣成プランノーツ]
前のページへ 1|2|3|4       

マクロ全体を再度確認

 解説は以上です。再度、ToDo完了メール送信マクロの内容を確認してみましょう。まず、シートモジュールに記載するイベントプロシージャ「Sub Worksheet_Change(ByVal Target As Range)」です。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRange As Range
Set myRange = Sheet1.ListObjects(1).ListColumns("ステータス").DataBodyRange
Dim r As Range
For Each r In Target
    If Not Intersect(myRange, r) Is Nothing And r.Value = "完了" Then
        Call ToDo完了メール送信(r.row)
    End If
Next r
End Sub

 以下が標準モジュールに記載する列挙体eの定義と、「Sub ToDo完了メール送信(ByVal row As Long)」の内容です。

Public Enum e
    no = 1
    記入日
    タスク
    期限
    ステータス
End Enum
Sub ToDo完了メール送信(ByVal row As Long)
'各要素の作成
With Sheet1
    Dim myNo As Long: myNo = .Cells(row, e.no).Value
    Dim myTask As String: myTask = .Cells(row, e.タスク).Value
End With
Const MY_TO As String = "example@example.com"
Const RECIPIENT As String = "皆様"
Dim mySubject As String
mySubject = mySubject & "タスク完了メール: [" & myNo & "] " & myTask
Dim myBody As String: myBody = ""
myBody = myBody & RECIPIENT & "<br>"
myBody = myBody & "以下のタスクが完了しました<br>"
myBody = myBody & "[" & myNo & "] " & myTask
'メールの送信
Dim olApp As Outlook.Application: Set olApp = New Outlook.Application
Dim myMail As MailItem: Set myMail = olApp.CreateItem(olMailItem)
With myMail
    .To = MY_TO
    .Subject = mySubject
    .Display
    .HTMLBody = myBody & .HTMLBody
    .Send
End With
End Sub

次回は

 今回は、Excel VBAで「ToDoリストの完了メール送信マクロ」を作成しました。イベントやイベントプロシージャを使うことで、「実行する」手順も省略できます。他にも多くのイベントプロシージャが用意されているので、ぜひ活用してみてください。

 次回は、「ToDoリストの完了メール送信マクロ」をGASで作成する方法をお伝えします。

著者プロフィール

高橋宣成

プランノーツ 代表取締役

「ITを活用して日本の『働く』の価値を高める」をテーマに、ExcelやVBA、G Suite、Google Apps Script、クラウドなどによる企業または個人事業主向けのシステムおよびツールの開発やコンサルティング、セミナー講師などを務める。「IT×働き方」をテーマに運営するブログ「いつも隣にITのお仕事」は月間60万PV達成。

書籍紹介

ExcelVBAを実務で使い倒す技術

高橋宣成著 秀和システム 1800円(税別)

動くコードが書けたその先、つまり「ExcelVBAを実務で使う」という目的に特化した実践書。ExcelVBAを楽に効果的に使いこなし続けるための知恵と知識、そしてそのためのビジョンと踏み出す勇気を提供する1冊。


詳解! Google Apps Script完全入門 〜Google Apps & G Suiteの最新プログラミングガイド〜

高橋宣成著 秀和システム 2600円(税別)

Google Apps Scriptの完全入門書として、JavaScriptの基本から自作ライブラリまでを徹底解説。これ一冊だけで基礎から実践まで体系的にマスターできます。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。