-4

グリッド ビューで Outlook の連絡先を C# フォームに取得したいと考えています。Microsoft Outlook 12.0 Object Library 9.3 バージョンを使用しました。getcontact ボタンをクリックすると、グリッドビューに表示される連絡先を取得しようとしています。

コードを以下に貼り付けます。親切にチェックして、問題を解決するのを手伝ってください。

   private void button1_Click(object sender, EventArgs e)
        {
            GetContacts();
        }
                public DataSet GetContacts()
                {
                    DataSet ds = new DataSet();
                    ds.Tables.Add("Contacts");
                    ds.Tables[0].Columns.Add("Email");
                    ds.Tables[0].Columns.Add("FirstName");
                    ds.Tables[0].Columns.Add("LastName");

                Microsoft.Office.Interop.Outlook.Items OutlookItems;
                Microsoft.Office.Interop.Outlook.Application outlookObj;
                MAPIFolder Folder_Contacts;

                outlookObj = new Microsoft.Office.Interop.Outlook.Application();
                Folder_Contacts =
    (MAPIFolder)outlookObj.Session.GetDefaultFolder(
    OlDefaultFolders.olFolderContacts);
                OutlookItems = Folder_Contacts.Items;

                for (int i = 0; i < OutlookItems.Count; i++)
                {
                    Microsoft.Office.Interop.Outlook.ContactItem contact =
    (Microsoft.Office.Interop.Outlook.ContactItem)OutlookItems[i + 1];
                    DataRow dr = ds.Tables[0].NewRow();
                    dr[0] = contact.Email1Address;
                    dr[1] = contact.FirstName;
                    dr[2] = contact.LastName;

                    ds.Tables[0].Rows.Add(dr);
                    dataGridView1.DataSource = dr;
                    richTextBox1.Text = dr.ToString();
                }

                dataGridView1.Show();
                return ds;
            }
4

1 に答える 1