2016-04-17 12 views
0

デフォルト以外のカレンダーのアイテムを表示、編集、表示する必要がありますが、アクセスする際に問題があります。c#、Microsoft.Office.Interop.Outlook、デフォルト以外のフォルダ

c#でデフォルト以外のカレンダーにアクセスする方法(Outlook.MAPIFolderを使用する場合)?してください

"\ [email protected]"で新しい "Adhésion"カレンダーを作成した後。私はC#アプリでそれにアクセスしたいと思います。

正しい方法ですか?フォルダが既にOutlookで開かれている場合

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Reflection; 
using System.Text; 
using System.Threading.Tasks; 
using Outlook = Microsoft.Office.Interop.Outlook; 

namespace ACC_adhérents 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Outlook.Application app = new Outlook.Application(); 

      Outlook.NameSpace ns = app.GetNamespace("mapi"); 

      ns.Logon("[email protected]", Missing.Value, true, true); 

      Outlook.MAPIFolder inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); 
      Outlook.MAPIFolder parentFolder = inboxFolder.Parent; 
      Outlook.MAPIFolder adhesionFolder = parentFolder.Folders["Tâches - Adhésion"]; 

      Console.WriteLine("Folder Name: {0}, EntryId: {1}", adhesionFolder.Name, adhesionFolder.EntryID); 
      Console.WriteLine("Num Items: {0}", adhesionFolder.Items.Count.ToString()); 

      ns.Logoff(); 
     } 
    } 
} 
+0

そのフォルダは別の店舗にありますか?またはプライマリストア内の他のフォルダのサブフォルダですか?それとも別の場所? –

+0

"\\ [email protected]"の "Tâches - Adhésion"という新しいフォルダです – ajulien

答えて

0

、ns.Foldersコレクション(プロファイル内のすべての店舗のトップレベルのフォルダを返す)で開始し、目的のフォルダにドリルダウンします。また、Namespace.Storesコレクションを使用して、必要なセカンダリストアにアクセスし、Store.GetDefaultFolder(既定のフォルダの場合)またはStore.GetRootFolderを使用して、ストアの最上位のフォルダーをストラテジすることもできます。

関連する問題