カレンダーを表示するアプリケーションを作成しています。カレンダーの日付をクリックすると、その日の予定を一覧表示するウィンドウが表示されます。
これは VB.Net でどのように行うことができますか? カレンダーに予定を追加するコードは見つかりましたが、これを行うコードは見つかりませんでした。
Outlook Interop API を使用したコード スニペットを次に示します。
このコードはアプリケーションにアクセスし、すべてのカレンダー アイテムを取得します。日付に基づいて制限したい場合は、clfFolder.Items.Restrict メソッドを呼び出して制限フィルターを渡すことができます。このメソッドでは、繰り返しのある単一のアイテムをリストするのではなく、エントリを形式化するために明確な繰り返しアイテムを呼び出します。
Dim appOutlook As Outlook.Application = Me.OutlookFormRegion.Application
Dim mpnNamespace As Outlook.NameSpace = appOutlook.GetNamespace("MAPI")
Dim clfFolder As Outlook.Folder = _
mpnNamespace.GetDefaultFolder(OlDefaultFolders.olFolderCalendar)
Dim itmItems As Outlook.Items
Dim oaiAppointmentItem As Outlook.AppointmentItem
clfFolder.Items.IncludeRecurrences = False
For Each oaiAppointmentItem In clfFolder.Items
oaiAppointmentItem.ClearRecurrencePattern()
Next
これを使ってデータを探しました。役立つかどうかわからない
試す
Dim olApp As Outlook.Application
olApp = CreateObject("Outlook.Application")
Dim mpnNamespace As Outlook.NameSpace = olApp.GetNamespace("MAPI")
Dim oCalendar As Outlook.MAPIFolder = mpnNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar)
Dim oItems As Outlook.Items = oCalendar.Items
oItems.Sort("Start")
oItems.IncludeRecurrences = True
Dim oAppt As Outlook.AppointmentItem = oItems.Find("[Subject] = 'Upgrade/Issue reported via eData - Ref:2'")
oAppt.Subject = "Updated"
oAppt.Save()
olApp = Nothing
Catch ex As Exception
MsgBox(ex.ToString)
End Try