タスクを終了状態にし、Excel ファイルに件名と所有者を書き込むマクロ


コメントにて以下のご要望をいただきました。


いつも参考にさせていただいております。

現在outlook2010を使用しております。

特定の文字列から始まる件名のタスクを
実施済みにした際に
エクセルシートに①件名②タスク所有者の氏名
が転記されたいと考えております。

よろしくお願いいたします。


タスクを終了するタイミングでマクロを実行するのはちょっと難しいため、Excel に件名などを書き込み、タスクを終了状態とするマクロにしてみました。
以下のようなマクロで実現できます。

' ここをトリプルクリックでマクロ全体を選択できます。

Public Sub CompleteWithLogtoExcel()
     ' Excel ファイルのファイル名を指定
     Const EXCEL_FILE = "c:\temp\tasklist.xlsx"
     Dim tskItem As TaskItem
     Dim objBook
     Dim objSheet
     Dim r As Integer
     ' 現在表示されているアイテムを取得
     Set tskItem = ActiveInspector.CurrentItem
     ' Excel ファイルを開く
     Set objBook = GetObject(EXCEL_FILE)
     objBook.Windows(1).Activate
     Set objSheet = objBook.sheets(1)
     ' 1 行目はタイトルとして使用し、2 行目からデータ
     r = 2
     ' データがない行まで移動
     While objSheet.Cells(r, 1) <> ""
         r = r + 1
     Wend
     ' Excel にタスクの件名と所有者を転記
     objSheet.Cells(r, 1) = tskItem.Subject
     objSheet.Cells(r, 2) = tskItem.Owner
     ' タスクを完了状態にして保存
     tskItem.Complete = True
     tskItem.Save
     ' Excel ファイルを閉じる
     objBook.Close True
End Sub

マクロの登録方法やメニューへの追加について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中