获取Outlook联系人到C#基于表单的应用 [英] Get Outlook contacts into C# form-based application

查看:444
本文介绍了获取Outlook联系人到C#基于表单的应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让Outlook联系人的联系人导入C#,但它不工作。我已经使用的Microsoft Outlook 12.0对象库。我想告诉RichTextBox中或GridView中的数据。



中的代码粘贴下面。请让我知道我应该在那里做什么。

 私人无效getContacts_Click(对象发件人,EventArgs五)
{
//获取Outlook应用程序
Outlook.Application应用=新Outlook.ApplicationClass的一个实例();

//访问的MAPI命名空间
Outlook.NameSpace NS = app.GetNamespace(MAPI);

//获取用户的默认联系人文件夹
Outlook.MAPIFolder接触=
ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);

//迭代通过每个接触
的for(int i = 1; I< contacts.Items.Count + 1;我++)
{
//获取联系人
Outlook.ContactItem接触=
(Outlook.ContactItem)contacts.Items [I]
richTextBox1.Text + = contact.FullName +(+
contact.BusinessTelephoneNumber +)+ Environment.NewLine;
Application.DoEvents();
}
}
}


解决方案

这对我的作品。它会从Outlook中所有的联系人并显示在DataGridView的

  Microsoft.Office.Interop.Outlook.Items OutlookItems; 
Microsoft.Office.Interop.Outlook.Application outlookObj =新Microsoft.Office.Interop.Outlook.Application();
MAPIFolder Folder_Contacts;
Folder_Contacts =(MAPIFolder)outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
OutlookItems = Folder_Contacts.Items;
MessageBox.Show(Wykrytokontaktów:+ OutlookItems.Count.ToString());

的for(int i = 0; I< OutlookItems.Count;我++)
{
Microsoft.Office.Interop.Outlook.ContactItem接触=(Microsoft.Office.Interop .Outlook.ContactItem)OutlookItems第[i + 1];
sNazwa = contact.FullName;
sFirma = contact.CompanyName;
sAdress = contact.BusinessAddressStreet;
sMiejscowosc = contact.BusinessAddressPostalCode ++ contact.BusinessAddressCity;
sEmail = contact.Email1Address;
dataGridView1.Rows.Add(sNazwa,sFirma,sAdress,sMiejscowosc,sEmail);

}


I have tried to get the contacts of Outlook contacts into C#, but it is not working. I have used the Microsoft Outlook 12.0 Object Library. I want to show the data in richtextbox or gridview.

The code is pasted below. Please let me know what I should do there.

    private void getContacts_Click(object sender, EventArgs e)
    {
        // Obtain an instance of the Outlook application
        Outlook.Application app = new Outlook.ApplicationClass();

        // Access the MAPI namespace
        Outlook.NameSpace ns = app.GetNamespace("MAPI");

        // Get the user's default contacts folder
        Outlook.MAPIFolder contacts =
        ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);

        // Iterate through each contact
        for (int i = 1; i < contacts.Items.Count + 1; i++)
        {
            // Get a contact
            Outlook.ContactItem contact =
            (Outlook.ContactItem)contacts.Items[i];
            richTextBox1.Text += contact.FullName + " (" +
            contact.BusinessTelephoneNumber + ")" + Environment.NewLine;
            Application.DoEvents();
        }
    }
}

解决方案

This works for me. It gets all the contacts from outlook and shows it in datagridview.

  Microsoft.Office.Interop.Outlook.Items OutlookItems;
  Microsoft.Office.Interop.Outlook.Application outlookObj = new Microsoft.Office.Interop.Outlook.Application();
  MAPIFolder Folder_Contacts;
  Folder_Contacts = (MAPIFolder)outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
  OutlookItems = Folder_Contacts.Items;
  MessageBox.Show("Wykryto kontaktów: " + OutlookItems.Count.ToString());

  for (int i = 0; i < OutlookItems.Count; i++)
  {
    Microsoft.Office.Interop.Outlook.ContactItem contact = (Microsoft.Office.Interop.Outlook.ContactItem)OutlookItems[i+1];
    sNazwa = contact.FullName;
    sFirma = contact.CompanyName;
    sAdress = contact.BusinessAddressStreet;
    sMiejscowosc = contact.BusinessAddressPostalCode + " " + contact.BusinessAddressCity;
    sEmail = contact.Email1Address;
    dataGridView1.Rows.Add(sNazwa, sFirma, sAdress, sMiejscowosc, sEmail);

  }

这篇关于获取Outlook联系人到C#基于表单的应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆