みなさまこんにちは、ノグチです。
お仕事だけでなく、お仕事以外でもやらなければいけないこと、やりたいことってありますよね。
私はそれらをきっちり頭の中に留めて置けるタイプではないので、忘れないように手元の付箋に書いてPCのディスプレイに貼り付けたり、手帳に書き込んだりしています。
でも、掃除をして付箋がはがれていたり、手帳をカバンに入れっぱなしにしているなど、パッとそれらを見返すことができないことがあるんですよね。
そんな時、使えるのがOutlookのタスク。
PCは毎日10時間近く使っていますし、これならPCを開いてさえいれば思いついた傍からどんどん登録できます。
通知機能で期限前に知らせてくれますし、「やった」or「やってない」も管理できます。
しかし、これも1件1件登録していくのも面倒臭い…
じゃあ、エクセルワークシートに書いたタスクを一気にOutlookに登録できれば良いのでは?!
ということで今回からは、エクセルワークシートにリストアップした「やらねば」を、VBAでOutlookのタスクに登録していく方法をご紹介していきます。
今回の記事ではその第一歩として、1件のタスクをVBAで登録する方法をご紹介します。
タスクを操作するTaskItemオブジェクト
これまで、VBAでOutlookのメールや連絡先を登録する方法をご紹介してきました。
その中でまずやるのが、Outlookのアイテムを操作するためのオブジェクトの取得でしたね。
メールならMailItemオブジェクト、連絡先ならContactItemオブジェクト、タスクならTaskItemオブジェクトを取得することで、各アイテムをVBAで操作することができるようになります。
CreateItemメソッドでTaskItemオブジェクトを取得
さてさて、今回操作したいタスクのTaskItemオブジェクトを取得する方法は、MailItemオブジェクトやContactItemオブジェクトと全く同じです。
まずは、TaskItem型変数の宣言です。
そしておなじみ、CreateItemメソッドでTaskItemオブジェクトを取得します。
パラメータには、タスクの定数を示すolTaskItemを指定します。
ちなみに、先頭のOutlookアプリケーションオブジェクト部分は省略可能です。
省略した場合、コードではこんな感じで記述します。
Set objTask = CreateItem(olTaskItem)
TaskItemオブジェクトのプロパティ
TaskItemオブジェクトのプロパティには、例えばこんなものがあります。
| プロパティ名 | 内容 |
|---|---|
| Subject | タスクのタイトル |
| StartDate | タスクの開始日 |
| DueDate | タスクの期限 |
| ReminderSet | タスクのアラームを鳴らすかどうか(True/Falseで指定) |
| ReminderTime | タスクのアラームを鳴らす日時 |
| Body | タスクの本文 |
プロパティでタスクの内容をセット
上のプロパティは、こんな感じで記述します。
With objTask
.Subject = "やらねばタスク"
.StartDate = "2018/10/1"
.DueDate = "2018/10/10"
.ReminderSet = True
.ReminderTime = "2018/10/8 12:00"
.Body = "住民票と印鑑証明取得@xxx区役所"
End With
Saveメソッドでタスクを登録
TaskItemオブジェクトの各プロパティに値がセットできたら、後は登録するだけです。
タスクの登録には、Saveメソッドを使います。
記述方法は、連絡先のContactItemオブジェクトのSaveメソッドと全く同じで、コチラ。
タスクを登録するコード
例えば、こんなタスクを登録したい場合、こんなコードになります。
Sub RegTask()
Dim objTask As TaskItem
Set objTask = CreateItem(olTaskItem)
With objTask
.Subject = "やらねばタスク"
.StartDate = "2018/10/1"
.DueDate = "2018/10/10"
.ReminderSet = True
.ReminderTime = "2018/10/8 12:00"
.Body = "住民票と印鑑証明取得@xxx区役所"
.Save
End With
End Sub
最後に
今回は、VBAでOutlookのタスクを登録する方法をご紹介しました。
タスクを管理するツールは、携帯電話のアラームやカレンダー、Googleカレンダーの予定など色々ありますが、毎日必ずPCを使う、Outlookを使っている、という人はこのOutlookのタスク機能を使ってタスク管理するのもアリですね。
次回は、今回のタスク登録の応用で、エクセルワークシートにリストアップしたタスクの内容を、一気にOutlookのタスクに登録する方法をご紹介します。
それでは最後までお読みいただき、ありがとうございました!
連載目次:Outlook VBAでタスクを登録してみよう
Outlook VBAで基本的なタスクを登録する方法と、応用編としてエクセルワークシートに書き出した複数のタスクを、一括で登録する方法をご紹介していきます。


