0

職場では、Public Folder に PostItems を送信するためのカスタム フォームがあります。それらはカスタム フォームとフィールドにあるため、ExtendedProperties で取得できません。私がそれをしようとするたびに、ExtendedProperties.Count == 0.

非常に多くのリンクを見てきましたが、何らかの理由で、意味をなさない GUID が提供されており (その GUID はどこで取得したのか!?)、連絡先やカレンダーを中心に展開されています。 PostItem ではありません。

カスタム フィールド/列は、「IPM.Post.Special_Department_INBOX」と呼ばれる ItemClass に格納されます。

私が見た例のリンク:

それが役立つ場合、これはコードです:

public class PublicFolder
{
    public string DisplayName { get; set; }
    public FolderId FolderID { get; set; }
    public int Childs { get; set; }
}


private void DoMagic()
{    
    try
    {
        List<PublicFolder> RootFolders = new List<PublicFolder>();
        ExchangeService ES = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
        try
        {
            ES.Credentials = new WebCredentials("email@domain.com", "password");
            ES.AutodiscoverUrl("email@domain.com");
            Folder F = Folder.Bind(ES, WellKnownFolderName.PublicFoldersRoot);
            F.Load();
            foreach (Folder fol in F.FindFolders(new FolderView(F.ChildFolderCount)))
            {
                PublicFolder PF = new PublicFolder();
                PF.DisplayName = fol.DisplayName;
                PF.Childs = fol.ChildFolderCount;
                PF.FolderID = fol.Id;
                RootFolders.Add(PF);
            }
            foreach (PublicFolder PF in RootFolders)
            {
                Folder Q = Folder.Bind(ES, PF.FolderID);
                {
                    if (Q.ChildFolderCount > 0)
                    {
                        Q.Load();
                        if (Q.DisplayName == "Special Department's Folder")
                        {
                            foreach (Folder W in Q.FindFolders(new FolderView(Q.ChildFolderCount)))
                            {
                                if (W.DisplayName == "Inbox Folder")
                                {
                                    Folder R = Folder.Bind(ES, W.Id);
                                    {
                                        foreach (Item I in R.FindItems(new ItemView(R.TotalCount)))
                                        {
                                            //THIS IS WHERE I WANT TO GET ITEM'S CUSTOM FIELDS FROM CUSTOM FORM
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        catch (Exception E)
        {
            MessageBox.Show(E.Message);
        }
    }
}
4

0 に答える 0