Outlook VBAでタスクを登録する最も簡単なプログラム


eyecatch,vba,task

みなさまこんにちは、ノグチです。

お仕事だけでなく、お仕事以外でもやらなければいけないこと、やりたいことってありますよね。

私はそれらをきっちり頭の中に留めて置けるタイプではないので、忘れないように手元の付箋に書いて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型変数の宣言です。

Dim オブジェクト名 As TaskItem

そしておなじみ、CreateItemメソッドでTaskItemオブジェクトを取得します。

パラメータには、タスクの定数を示すolTaskItemを指定します。

Outlookアプリケーションオブジェクト.CreateItem(olTaskItem)

ちなみに、先頭のOutlookアプリケーションオブジェクト部分は省略可能です。

省略した場合、コードではこんな感じで記述します。

TaskItemオブジェクトのプロパティ

TaskItemオブジェクトのプロパティには、例えばこんなものがあります。

プロパティ名 内容
Subject タスクのタイトル
StartDate タスクの開始日
DueDate タスクの期限
ReminderSet タスクのアラームを鳴らすかどうか(True/Falseで指定)
ReminderTime タスクのアラームを鳴らす日時
Body タスクの本文

プロパティでタスクの内容をセット

上のプロパティは、こんな感じで記述します。

Saveメソッドでタスクを登録

TaskItemオブジェクトの各プロパティに値がセットできたら、後は登録するだけです。
タスクの登録には、Saveメソッドを使います。

記述方法は、連絡先のContactItemオブジェクトのSaveメソッドと全く同じで、コチラ。

TaskItemオブジェクト.Save

タスクを登録するコード

例えば、こんなタスクを登録したい場合、こんなコードになります。

outlook,vba,タスク登録

最後に

今回は、VBAでOutlookのタスクを登録する方法をご紹介しました。

タスクを管理するツールは、携帯電話のアラームやカレンダー、Googleカレンダーの予定など色々ありますが、毎日必ずPCを使う、Outlookを使っている、という人はこのOutlookのタスク機能を使ってタスク管理するのもアリですね。

次回は、今回のタスク登録の応用で、エクセルワークシートにリストアップしたタスクの内容を、一気にOutlookのタスクに登録する方法をご紹介します。

それでは最後までお読みいただき、ありがとうございました!

連載目次:Outlook VBAでタスクを登録してみよう

Outlook VBAで基本的なタスクを登録する方法と、応用編としてエクセルワークシートに書き出した複数のタスクを、一括で登録する方法をご紹介していきます。

  1. Outlook VBAでタスクを登録する最も簡単なプログラム
  2. 【Outlook VBA】エクセルワークシートのタスク一覧をOutlookのタスクに登録する方法

  投稿者プロフィール

ノグチフリーランスPG・SE
元製造子会社SE。
業務システム保守・導入両方やった経験をお伝えすることで、少しでもシステムや手作業に悩まされる人が減ればいいなぁと日々夢見ております。

コメント