Office AutomationのプログラムでShared Calendarsを取得する方法
2851 ワード
Imports Outlook = Microsoft.Office.Interop.Outlook
Public Class Form1
Private OLApp As Outlook.Application
Private OlExplorer As Outlook.Explorer
Private OlNavigationPan As Outlook.NavigationPane
Private CalendarModule As Outlook.CalendarModule
Private OlNavigationGroup As Outlook.NavigationGroup
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Load
Dim Process() As System.Diagnostics.Process = System.Diagnostics _
.Process.GetProcessesByName("OUTLOOK")
If Process.Length > 0 Then
OLApp = System.Runtime.InteropServices.Marshal _
.GetActiveObject("Outlook.Application")
Else
OLApp = New Outlook.Application
End If
If OLApp.ActiveExplorer IsNot Nothing Then
OlExplorer = OLApp.ActiveExplorer
Else
OlExplorer = OLApp.Explorers.Add(OLApp.Session _
.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox))
OlExplorer.Activate()
End If
OlNavigationPan = OlExplorer.NavigationPane
CalendarModule = OlNavigationPan.Modules _
.GetNavigationModule(Outlook.OlNavigationModuleType. _
olModuleCalendar)
ComboBox1.Items.Clear()
OlNavigationGroup = CalendarModule.NavigationGroups("Shared Calendars")
If OlNavigationGroup IsNot Nothing Then
For Each Folder As Outlook.NavigationFolder In OlNavigationGroup _
.NavigationFolders
ComboBox1.Items.Add(Folder.DisplayName)
Next
Else
MsgBox("OlNavigationGroup is nothing")
End If
End Sub
Private Sub Form1_FormClosed(sender As System.Object, e As System.Windows _
.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
If OLApp IsNot Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(OLApp)
End If
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
Handles Button1.Click
Dim OlNavigationFolder As Outlook.NavigationFolder
If OlNavigationGroup IsNot Nothing Then
OlNavigationFolder = OlNavigationGroup _
.NavigationFolders(ComboBox1.SelectedIndex + 1)
If OlNavigationFolder IsNot Nothing Then
OlNavigationPan.CurrentModule = CalendarModule
OlNavigationFolder.IsSelected = True
End If
Else
MsgBox("OlNavigationGroup is nothing")
End If
End Sub
End Class
Shared CalendarのMAPIFolderは入手できません.NavigationFolderしか入手できません.
関連リソース:http://download.csdn.net/detail/tx_officedev/4086064