Outlookで複数タスクを登録するマクロ

Outlookで複数タスクを登録するマクロを作ったので、ソ-スを公開。

たとえは、マインドマップでタスクを洗い出したあと、

登録するためには今までは1つずつ登録が必要だったが、

これで一括登録可能だ。

Module1

Dim InputText As String

'与えられたリストからタスクを複数生成するマクロ
Sub CreateMultiTasks()
Dim max As Integer
Dim Subjects() As String

'入力フォ-ム表示し、複数タスク取得
UserForm1.Show

Subjects() = Split(InputText, vbCr) '複数タスクを分割
max = UBound(Subjects()) 'タスク数を取得

For i = 0 To (max - 1)
  Call CreateTask(Subjects(i)) 'タスク生成
Next i

End Sub

'入力テキスト取得
Function GetTextBox(ByVal text As String)
InputText = text
End Function

Module2

Sub CreateTask(jobNAME As String)
 'タスクオブジェクト生成 (olTaskItem=3 TaskItemオブジェクト)
  Dim oITEM As TaskItem
  Set oITEM = Application.CreateItem(olTaskItem)
    
  With oITEM
    '.Display  '画面表示

    'データセット
    .Subject = jobNAME  '件名
    .Categories = "!Inbox" '分類項目に!Inboxを追加
    
    'タスクを登録
    .Close 0  'olSaveで閉じるときに保存(セーブして終了)
  End With
End Sub

UserForm1

Private Sub OK_Click()
Call GetTextBox(TextBox1.text)
Unload Me
End Sub
Private Sub Cancel_Click()
End
End Sub