みなさまこんにちは、ノグチです。
お仕事だけでなく、お仕事以外でもやらなければいけないこと、やりたいことってありますよね。
私はそれらをきっちり頭の中に留めて置けるタイプではないので、忘れないように手元の付箋に書いて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で基本的なタスクを登録する方法と、応用編としてエクセルワークシートに書き出した複数のタスクを、一括で登録する方法をご紹介していきます。