vbc /r:System.Windows.Forms.dll /r:Microsoft.Office.Interop.Outlook.dll OutlookTaskForm.vb

Imports System.Windows.Forms
Imports Microsoft.Office.Interop.Outlook

Public Class TaskForm
    Inherits Form

    Private taskListBox As ListBox

    Public Sub New()
        ' フォームの設定
        Me.Text = "Outlookタスク表示"
        Me.Size = New Drawing.Size(400, 300)

        ' ListBoxの初期化
        taskListBox = New ListBox()
        taskListBox.Dock = DockStyle.Fill

        ' タスクを読み込んでListBoxに追加
        LoadOutlookTasks()

        ' ListBoxをフォームに追加
        Me.Controls.Add(taskListBox)
    End Sub

    Private Sub LoadOutlookTasks()
        ' Outlookアプリケーションオブジェクトを作成
        Dim outlookApp As New Application()
        ' OutlookのNamespaceを取得
        Dim outlookNamespace As [NameSpace] = outlookApp.GetNamespace("MAPI")

        ' タスクリストフォルダを取得
        Dim tasksFolder As MAPIFolder = outlookNamespace.GetDefaultFolder(OlDefaultFolders.olFolderTasks)

        ' タスクアイテムを取得
        Dim tasks As Items = tasksFolder.Items

        ' 各タスクをループしてListBoxに追加
        For Each task As TaskItem In tasks
            Dim taskInfo As String = "タスク: " & task.Subject & " - 期限: " & task.DueDate
            taskListBox.Items.Add(taskInfo)
        Next
    End Sub

    <STAThread>
    Public Shared Sub Main()
        ' Windowsフォームアプリケーションを実行
        Application.EnableVisualStyles()
        Application.Run(New TaskForm())
    End Sub
End ClassImports System.Windows.Forms
Imports Microsoft.Office.Interop.Outlook

Public Class TaskForm
    Inherits Form

    Private taskListBox As ListBox

    Public Sub New()
        ' フォームの設定
        Me.Text = "Outlookタスク表示"
        Me.Size = New Drawing.Size(400, 300)

        ' ListBoxの初期化
        taskListBox = New ListBox()
        taskListBox.Dock = DockStyle.Fill

        ' タスクを読み込んでListBoxに追加
        LoadOutlookTasks()

        ' ListBoxをフォームに追加
        Me.Controls.Add(taskListBox)
    End Sub

    Private Sub LoadOutlookTasks()
        ' Outlookアプリケーションオブジェクトを作成
        Dim outlookApp As New Application()
        ' OutlookのNamespaceを取得
        Dim outlookNamespace As [NameSpace] = outlookApp.GetNamespace("MAPI")

        ' タスクリストフォルダを取得
        Dim tasksFolder As MAPIFolder = outlookNamespace.GetDefaultFolder(OlDefaultFolders.olFolderTasks)

        ' タスクアイテムを取得
        Dim tasks As Items = tasksFolder.Items

        ' 各タスクをループしてListBoxに追加
        For Each task As TaskItem In tasks
            Dim taskInfo As String = "タスク: " & task.Subject & " - 期限: " & task.DueDate
            taskListBox.Items.Add(taskInfo)
        Next
    End Sub

    <STAThread>
    Public Shared Sub Main()
        ' Windowsフォームアプリケーションを実行
        Application.EnableVisualStyles()
        Application.Run(New TaskForm())
    End Sub
End Class