C# 对Outlook联系人的增、删、查
注:定义变量
Outlook.Application myOlApp = new
Outlook.ApplicationClass();
Outlook.NameSpace myNameSpace;
Outlook.MAPIFolder myFolder;
一、添加联系人
Outlook.ContactItem addItem =
(Outlook.ContactItem)myOlApp.CreateItem(Outlook.OlItemType.olContactItem);
addItem.FirstName = "晶晶";
addItem.LastName = "李";
addItem.Email1Address = "sun@sohu.com";
addItem.Save();
二、删除联系人
Outlook.ContactItem contact =
this.myOlApp.GetNamespace("MAPI").
GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts).
Items.
Find(
string.Format("[LastName]='{0}' AND [FirstName]='{1}'",
lastName, firstName))
as Outlook.ContactItem;
if (contact != null)
{
contact.Delete();
}
三、查询联系人
myNameSpace =
myOlApp.GetNamespace("MAPI");//得到MAPI的Session
myFolder =
myNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);//
获取默认的邮箱信息
int iMailCount = myFolder.Items.Count;
if (iMailCount > 0)
{
for (int k = 1; k <= iMailCount; k++)
{
Outlook.ContactItem item =
(Outlook.ContactItem)myFolder.Items[k];
if
(!columnMobiles.Contains(item.MobileTelephoneNumber))//添加数据库不存在的联系人
{
string lastName = item.LastName;//姓
string firstName = item.FirstName;//名
string fullName = item.FullName;//全称
//string sex = item.Gender.ToString();//性别
string email = item.Email1Address + "," + item.Email2Address + ","
+ item.Email3Address;//Email
string job = item.JobTitle;//职务
string department = item.Department;//部门
string company = item.CompanyName;//单位
string mobile = item.MobileTelephoneNumber;//手机
string birthday = "";
if (!item.Birthday.ToString().Equals("4501-1-1 0:00:00"))
birthday =
item.Birthday.ToString();//生日
//item.PagerNumber//寻呼机
string corFax = item.BusinessFaxNumber;//商务传真
string homePage = item.BusinessHomePage;//网页地址
string corPhone = item.BusinessTelephoneNumber;//商务电话
string corNation = item.BusinessAddressCountry;//国家
string corProvince = item.BusinessAddressState;//省
string corArea = item.BusinessAddressCity;//城市
string corAddress = item.BusinessAddressStreet;//地址
string corPostCode = item.BusinessAddressPostalCode;//邮政编码
string nation = item.HomeAddressCountry;//住宅国家
string province = item.HomeAddressState;//住宅省份
string area = item.HomeAddressCity;//住宅城市
string postCode = item.HomeAddressPostalCode;//住宅邮编
string address = item.HomeAddressStreet;//住宅地址
string handSet = item.HomeTelephoneNumber;//住宅电话
string fax = item.HomeFaxNumber;//住宅传真
//item.BusinessAddress//组合地址 (河北省衡水市安平县)
//item.FormDescription.Icon//不明确图片
//item.HasPicture//是否有图片
//item.HomeAddress//住宅地址
//item.PrimaryTelephoneNumber//主要电话
//item.ManagerName//经理名称
//执行添加
bool result = AssociateManager.AddAssociate(associate);
if (k == iMailCount)
{
MessageBox.Show("导入数据成功!", "系统提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
this.Close();//关闭窗口
}
}
}
}
else
MessageBox.Show("对不起,没有导入的数据!", "系统提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
转自:
http://blog.csdn.net/as7616263/archive/2010/05/25/5623222.aspx
C# 对Outlook联系人的增、删、查 的更多相关文章
- 编码实战Web端联系人的增删改查
首先画出分析图 实现效果如图 项目下的包如图: 实体包 package com.contactSystem.entiey; public class Contact { private String ...
- PHP数据库的 增 删 查
一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...
- WindowsForm 增 删 查 改
首先是连接数据库 在数据库里写代码 建立一个数据库下面是代码 create database JinXiaoCun go use JinXiaoCun go create table users ( ...
- HBase java API 的使用范例(增,删,查,扫描)
编辑pom.xml <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase ...
- Datalist增删改查——联系人管理
关于Datalist,其实和Repeater差不多,都是存放数据的控件,相比较下,Datalist和Repeater虽然都是用的模板,但是Datalist比之多了Edit模板,也就是编辑栏的模板,事件 ...
- 【转】Android 增,删,改,查 通讯录中的联系人
一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...
- Android 增,删,改,查 通讯录中的联系人
一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- Java项目——模拟电话薄联系人增删改查
该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...
随机推荐
- Leetcode:maximum_depth_of_binary_tree题解
一. 题目 给定一个二叉树,求它的最大深度.最大深度是沿从根节点,到叶节点最长的路径. 二. 分析 (做到这里发现接连几道题都是用递归,可能就是由于自己时挑的简单的做的吧.) 找出最深 ...
- Visual Studio Team Services使用教程--默认团队权限说明
- RH253读书笔记(10)-Appendix A Installing Software
Appendix A Installing Software Below are a few methods to locate and install required packages. You ...
- android代码签名和混乱的包装
研究了一下android的apk困惑签名和代码包装,假设没有混乱包.然后apk人们可以直接查看源代码反编译出来,尽管混乱包或能看懂.但不是那么容易理解,要求在至少一些时间 假设不混淆,反编译后的代码例 ...
- mahout源码KMeansDriver分析之五CIMapper初探
接着上篇,继续分析代码.下面就到了MR的循环了,这里MR应该算是比较好理解的,重点是退出循环的条件设置,即如何判断前后两次中心点误差小于给定阈值. 首先,while循环: while (iterati ...
- Java多线程中wait, notify and notifyAll的使用
本文为翻译文章,原文地址:http://www.journaldev.com/1037/java-thread-wait-notify-and-notifyall-example 在Java的Obje ...
- Event Sourcing - ENode(三)
接上一篇 http://www.cnblogs.com/dopeter/p/4903328.html 老板昨天在第二篇介绍中回复代码和文字无法一一对应.为了更好的让老板为大家解惑,把第二篇最后的猜测的 ...
- Codeforces 514 D R2D2 and Droid Army(RMQ+二分法)
An army of n droids is lined up in one row. Each droid is described by m integers a1, a2, ..., am, w ...
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- ASP.NET——两个下拉框来实现动态联动
介绍: 在网页中.我们常常会遇到下图中的情况.首先在下拉框中选择所在的省.选择之后,第二个下拉框会自己主动载入出该省中的市.这样设计极大的方便了用户的查找.那这是怎样实现的呢? 1.建立数据库 &qu ...