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

 

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

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

 

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

开发环境设置:

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

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

OfficeXP需要配置ms提供的设置文件,具体可看 (下载)

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里,其他项目à 扩展性项目 à 共享的外接程序。

 

选择语言:

 

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

 

程序会帮我们自动生成一个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)

Add-in Express是一个用于开发Microsoft Office和Microsoft .NET应用程序的工具。它提供了一个简单易用的平台,使开发人员能够快速构建自定义的Office插件和扩展。 使用Add-in Express,开发人员可以利用Visual Studio IDE来创建自定义的Ribbon菜单、工具栏、任务窗格和自定义对话框等Office扩展。它提供了丰富的设计时集成,让开发人员能够轻松地在设计阶段实现快速调试和测试。 Add-in Express支持多种Office应用程序,包括Word、Excel、Outlook、PowerPoint和Visio。它还支持连接到外部数据库和Web服务,以实现更强大的功能。 使用Add-in Express,开发人员不需要深入了解Office的内部结构和编程模型,也不需要编写大量的代码。它提供了一系列的可视化设计工具和代码生成器,可以自动生成所需的代码。开发人员只需要专注于业务逻辑的实现,而不必担心底层的技术细节。 Add-in Express还提供了丰富的文档和示例代码,帮助开发人员快速上手和解决问题。它还有强大的社区支持,开发人员可以在官方论坛上与其他开发人员交流经验和解决方案。 总结来说,Add-in Express是一个功能强大且易于使用的工具,可帮助开发人员快速构建自定义的Office插件和扩展。无论是初学者还是有经验开发人员,都可以从中受益。它可以大大提高开发效率,节省时间和精力。所以,如果你需要开发自定义的Office插件Add-in Express是一个值得考虑的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值