Outlookでタスクシュートをする機能を実装した。

と、いっても実際にしたことは大したことではないのだけれど。

選択したタスクの予測時間の合計を現在時間に足して表示しただけ。

本当ならば、今日のタスクも自動的に検索できればいいけれど、

そこはまだスキルが足りない。手動選択が楽だ。

フォーム File:TaskChuteForm:

Private Sub UserForm_Initialize()
  Dim End_Time
  Dim End_Hour
  Dim End_Minute
  Dim TotalWork_Time As Long
  
  TotalWork_Time = GetSelectedTotalWorkTime()
  End_Time = DateAdd("n", TotalWork_Time, Time)
  End_Hour = Hour(End_Time)
  End_Minute = Minute(End_Time)
  
  TaskChuteForm.ListBox1.AddItem Hour(Time) & ":" & Minute(Time)
  TaskChuteForm.ListBox2.AddItem End_Hour & ":" & End_Minute
End Sub

TithOutlookSession:

Function GetSelectedTotalWorkTime()
    Dim myOlExp As Outlook.Explorer
    Dim myOlSel As Outlook.Selection
    Dim TotalWork_Sum As Long
    Dim x As Integer
 
    TotalWork_Sum = 0
    
    Set myOlExp = Application.ActiveExplorer
    Set myOlSel = myOlExp.Selection
    For x = 1 To myOlSel.Count
        TotalWork_Sum = TotalWork_Sum + myOlSel.Item(x).TotalWork
    Next x
    
    GetSelectedTotalWorkTime = TotalWork_Sum
End Function