获取Outlook联系人到C#基于表单的应用 [英] Get Outlook contacts into C# form-based application
本文介绍了获取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屋!
查看全文