Outlook add-in 插件.Net开发经验-补充(1)

原创 2004年01月05日 12:00:00

Outlook add-in 插件.Net开发经验-补充(1

这次补充了些东西,把原文扩充了一些,为了看着方便,直接合并在了一起。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

第一次写这玩意,记录些开发中的过程,.net开发设置要比在VB里复杂一些,要把office的对象用ms提供的工具包装一下,才能在.Net开发环境里使用。

开发环境设置:

我的开发环境:Windows2K professional + Office XP

Office每个版本的对象,不尽相同,一般新版本兼容旧版本,也有可能会废弃某些对象的接口。我看过Office XPOffice2000outlook对象,Outlook XPOutlook2000要多出一些对象和接口函数。

OfficeXP需要配置ms提供的设置文件,具体可看<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> Null.image(下载)

Office 2003 直接在Office安装包里,安装.Net开发支持,直接可以在VS.Net里开发了。

我使用VB.Net开发,这样直接对Outlook对象编程比较方便(使用withevents),用C#的话,需要自定义事件参数,设置delegate

Outlook进行二次开发,可能用到CDO1.21对象,这个不是必需的,按个人需要。使用CDO1.21对象,可以使用一些较为核心的Outlook方法。这些方法,属性在Outlook对象里可能无法使用。

如果需要更直接的设置,获取Outlook对象,可以对MAPI32.dll提供的api接口,进行控制,可以最大限度的操纵Outlook。这些接口直接使用C++编程最方便,我没有具体的做过,只测试了一些,也就不多说了。

开发过程简介:

       vs.net里,其他项目à 扩展性项目 à 共享的外接程序。

CSDN_Dev_Image_2004-1-5930552.png

 

选择语言:

CSDN_Dev_Image_2004-1-5930554.jpg

 

选择外接程序的加载到的主程序,这里我只选择outlook

CSDN_Dev_Image_2004-1-5930556.png

 

程序会帮我们自动生成一个Addin项目,包含一个Connect.vb文件,打开看看。

 

Implements Extensibility.IDTExtensibility2 的接口。

象这样,我们就可以取得outlook的application对象,操纵Outlook。

 

取得outlook的application对象,操纵Outlook

Dim m_oAddin As olAddin

Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection

 

            Dim oApp As myOutlook.Application

            Dim oType As Type

            Dim GetProgID As Object

            Dim MyProgID As String

            Dim oArgs As Object()

           

Try

                m_oAddin = New olAddin

                'Use InvokeMember to get ProgID of addInInst object

                oType = addInInst.GetType

                GetProgID = oType.InvokeMember("ProgID", _

BindingFlags.Public Or BindingFlags.GetField Or BindingFlags.GetProperty, _

                            Nothing, _

                                addInInst, _

                            oArgs)

                MyProgID = CType(GetProgID, String)

                oApp = CType(application, myOutlook.Application)

                'Don't call InitHandler if Explorers.Count = 0 and Inspectors.Count = 0

                If oApp.Explorers.Count = 0 And oApp.Inspectors.Count = 0 Then

                    Exit Sub

                End If

                ' Initialize COMAddin object with this connect object to allow

                ' external clients to get access to exposed features

                oApp.COMAddIns.Item(MyProgID.ToString).Object = Me

                'Call InitHandler

                m_oAddin.InitHandler(oApp, MyProgID)

            Catch ex As SystemException

             

            End Try

End Sub

 

 

当然也可以把所有的对outlook的操作,放在一个单独的类中处理:m_oAddin.InitHandler(oApp, MyProgID)

 

 

Arcgis Add-In开发入门实例

Arcgis Add-In开发入门实例
  • GISShiXiSheng
  • GISShiXiSheng
  • 2013年12月12日 16:55
  • 5800

Python 插件(add-in) 基础知识

1)         Python插件为何物 一个插件(add-in)就是一个客户化,比如嵌入到ArcGIS应用程序中的工具条上的一系列工具,这些工具作为ArcGIS标准程序的补充可以为客户完成...
  • jiayp004
  • jiayp004
  • 2013年10月30日 14:48
  • 2856

ArcGIS C#插件式开发总结1——编辑过程自动保存插件(Button实现)

ArcGIS 自动保存插件
  • sprintwater
  • sprintwater
  • 2014年09月16日 19:16
  • 6200

ArcObject开发ArcMap的add-in拓展插件

用VS2010+ArcObject开发ArcMap10.1拓展插件Add-in的图文教程
  • u013480096
  • u013480096
  • 2015年01月01日 23:35
  • 882

GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件

GMap.NET是什么? 来看看它的官方说明:GMap.NET is great and Powerful, Free, cross platform, open source .NET contro...
  • sunsun1203
  • sunsun1203
  • 2016年12月22日 16:12
  • 121

GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件

转自:http://www.cnblogs.com/luxiaoxun/p/3463250.html GMap.NET是什么? 来看看它的官方说明:GMap.NET is great and ...
  • XBLYWL
  • XBLYWL
  • 2016年06月30日 20:02
  • 1349

使用CSharp.net开发BOS插件

  • 2011年08月16日 11:44
  • 500KB
  • 下载

asp.net开发的ajax插件

  • 2012年09月17日 09:46
  • 835KB
  • 下载

Asp.net开发经验-利用Aspose.Words按模板导出Word

估计很多开发人员都为导出Excel或者Word烦扰吧..网上有各种各样的导出方法...经常用到的方法就是画网页..例如下面的GridView导出excel的代码..这段代码虽然有效..但是其实非常不好...
  • whfsk
  • whfsk
  • 2017年02月14日 11:59
  • 225

为WebForms说几句话,以及一些ASP.NET开发上的经验

记得数年前,当ASP.NET刚出现时,天下间Web开发框架中似乎出现了一个“巨人”,WebForms这种似乎人人都能掌握的开发框架几乎瞬间流行起来。如果谁还在用传统ASP这种控制与表现混合的开发方式,...
  • lvjin110
  • lvjin110
  • 2013年08月16日 16:45
  • 2071
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Outlook add-in 插件.Net开发经验-补充(1)
举报原因:
原因补充:

(最多只允许输入30个字)