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