酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows Mobileでタスク(仕事)を取得する

Windows Mobile端末は、Office Mobileが標準で搭載されています。Windows Mobile 5.0以降にあるMicrosoft.WindowsMobile.PocketOutlook名前空間を使えば、簡単にOfficeと連携の取れたアプリケーションの開発が可能です。

.NET Compact Frameworkからは、Microsoft.WindowsMobile.PocketOutlook名前空間のOutlookクラスを使用する事 で、Outlook Mobileで記録した連絡先や予定、仕事などのプライベートな情報へ簡単にアクセスする事が出来ます。

ここでは、タスク(仕事)を取得する方法をご紹介します。

タスク(仕事)を取得する

VB.NET

    ' Imports Microsoft.WindowsMobile.PocketOutlook

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs)

        ' Outlookセッションの作成  
        Dim outlook As New OutlookSession()
        ComboBox1.DataSource = outlook.Tasks.Items
        ComboBox1.DisplayMember = "FileAs"

    End Sub

C#

    // Imports Microsoft.WindowsMobile.PocketOutlook
    
    private void Button1_Click(System.Object sender, System.EventArgs e)
    {
        // Outlookセッションの作成  
        OutlookSession outlook = new OutlookSession();
        ComboBox1.DataSource = outlook.Tasks.Items;
        ComboBox1.DisplayMember = "FileAs";
    }

タスクをListBoxに表示させる

PocketOutlookのタスクを取得し、ListBox1に表示させます。

VB.NET

        ' Outlookセッションの作成
        Dim outlook As New Microsoft.WindowsMobile.PocketOutlook.OutlookSession()

        ' Task数が1件だったら終了
        If (outlook.Tasks.Items.Count = 0) Then
            Return
        End If

        For Each itme As Microsoft.WindowsMobile.PocketOutlook.Task In outlook.Tasks.Items

            ' Taskの題名
            Dim subject As String = itme.Subject

            ' Taskの開始日時
            Dim startDate As Date = itme.StartDate

            ' Taskが達成したかどうか?
            Dim isComplete As Boolean = itme.Complete

            ' ListBoxへ挿入していく
            Dim taskInfo As String = String.Format("{0}:{1}:{2}", _
                                                   subject, _
                                                   startDate.ToString("yyyyMMdd"), _
                                                   isComplete)
            ListBox1.Items.Add(taskInfo)

        Next itme

        ' Outlookセッションの解放
        outlook.Dispose()

あらかじめ数件タスクを登録しておき、上記のコードを実行した結果です。

f:id:ch3cooh393:20150203151111p:plain

関連記事

Windows Mobile(.NET Compact Framework)を使ってアプリ開発する際に逆引きとしてお使いください。