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

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

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

一些注意点:

       具体需要做些什么,个人需要,我也不仔细说了,察看msdn就明白了。

       我在开发过程中的一些注意,列一下:

1.       在单独类oAddin中处理,指定progID

指定progID

<GuidAttribute("CA940FE1-1193-411b-82DF-570A04491150"),

ProgIdAttribute("AddinForBible.olAddin")>

Public Class OutAddIn

End Class

 

2.       清除outlook的对象:

清除outlook的对象:

Public Sub DisposeObject(ByVal obj As Object)

            'Wraps ReleaseCOMObject to provide a 'safe' disposal helper method.

            Dim count As Integer

            Try

                If obj Is Nothing Then

                    Exit Try

                End If

                If Not Marshal.IsComObject(obj) Then

                    Exit Try

                End If

                count = Marshal.ReleaseComObject(obj)

                While count > 0

                    count = Marshal.ReleaseComObject(obj)

                End While

            Catch ex As SystemException

            Finally

                obj = Nothing

            End Try

End Sub

 

 

 

3.        CDO1.21对象在Office的安装包里可以安装,使用例子:

设置folder的default post message 属性为 自定义 form

这个属性找了很久,msdn里没有提及,留在这里吧,以后也不太会再作outlook开发了

g_olNamespace = m_olOutlookApp.Session

     g_olNamespace.Logon(, , False, False)

     g_objMAPISession = New MAPI.Session

g_objMAPISession.Logon(, , False, False)

Public Function SetFolderDftMsgPostClass(ByVal sFolderID As String, ByVal sStoreID As String) As Boolean

 

            Dim objMAPIFolder As MAPI.Folder

            Dim objMAPIFields As MAPI.Fields

            Const PR_DEF_POST_DISPLAYNAME = &H36E6001E '定制form的显示名字

            Const PR_DEF_POST_MSGCLASS = &H36E5001E  '定制form的MessageClass名称

            Try

                objMAPIFolder = g_objMAPISession.GetFolder(sFolderID, sStoreID)

                objMAPIFields = objMAPIFolder.Fields

                Try

                    If objMAPIFields.Item(PR_DEF_POST_MSGCLASS).value = cVerseMessageClass Then

                        Exit Try

                    End If

                Catch ex As Exception

                    With objMAPIFields

                        .Add(PR_DEF_POST_DISPLAYNAME, cVerseFormName)

                        .Add(PR_DEF_POST_MSGCLASS, cVerseMessageClass)

                    End With

                    objMAPIFolder.Update()

                End Try

            Catch ex As Exception

            Finally

            End Try

            DisposeObject(objMAPIFields)

            DisposeObject(objMAPIFolder)

End Function

 

 

4.         初始化outlook对象,取得基本的对象。

初始化outlook对象,取得基本的对象。

Imports myOutlook = Microsoft.Office.Interop.Outlook

 

Public g_olNamespace As myOutlook.NameSpace '当前outlook session对象

Public g_oBaseFolder As myOutlook.MAPIFolder '当前outlook folder对象

Public g_olApp As myOutlook.Application   '当前outlook对象

 

Public g_sStoreID As String

 

Private WithEvents m_olExplorer As myOutlook.ExplorerClass

'当前outlook explorer对象

 

g_olNamespace = m_olOutlookApp.Session

g_olNamespace.Logon(, , False, False)

m_olExplorer = CType(m_olOutlookApp.ActiveExplorer, myOutlook.ExplorerClass)

g_oBaseFolder = g_olNamespace.Folders.Item(foldername)

g_sStoreID = g_oBaseFolder.StoreID

 

 

取得folder对象:

namespace.folders.Item(“foldername”)

取得第一个名为foldernamefolder

namespace.GetFolderFromID(sFolderID,sStoreID)

取得指定IDfolder

FolderID , StoreID

Folder.EntryID

 

 

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

 一些注意点:        具体需要做些什么,个人需要,我也不仔细说了,察看msdn就明白了。       我在开发过程中的一些注意,列一下:1.       在单独类oAddin中处理,指定pro...
  • benlee
  • benlee
  • 2004年12月20日 11:19
  • 770

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

这里上传文件字数太少,只能分多次。1.         在outlook里创建Menu, Button。在outlook里创建Menu, Button。Private m_oMainMenu As O...
  • duibudui
  • duibudui
  • 2004年01月05日 12:02
  • 1333

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

Outlook add-in 插件.Net开发经验-补充(1)这次补充了些东西,把原文扩充了一些,为了看着方便,直接合并在了一起。 第一次写这玩意,记录些开发中的过程,.net开发设置要比在VB里复杂...
  • duibudui
  • duibudui
  • 2004年01月05日 12:00
  • 1492

Outlook add-in 插件.Net开发经验

Outlook add-in 插件.Net开发经验第一次写这玩意,记录些开发中的过程,.net开发设置要比在VB里复杂一些,要把office的对象用ms提供的工具包装一下,才能在.Net开发环境里使用...
  • duibudui
  • duibudui
  • 2003年12月19日 23:19
  • 1169

Outlook Add-in

 利用VC++/ATL开发Office 2003 COM插件最近,我为一个客户写了一个Outlook2003的COM插件。当我为这个工程写代码的时候,我遇到了很多用C++无法解决的问题。对于一个初学者...
  • cliviajin
  • cliviajin
  • 2007年10月20日 20:35
  • 3830

使用vsto制作的outlook插件在用户机器上无法运行的问题

         最近因为工作的需要,使用vsto2005se制作了一个outlook2003的小插件,主要是对邮件进行一些检查什么的,用vsto制作这类office软件的插件相对容易和迅速,和off...
  • ScienWu
  • ScienWu
  • 2007年04月20日 09:51
  • 1855

【ArcGIS Add-in编程】如何创建ArcMap的下拉菜单插件

step1. VS2010中创建一个空的解决方案step2.创建一个项目 直接点击finish。step3 为该项目创建项目,选择Menu,作为根菜单,而后修改xml中的items项,添加需要...
  • u013177446
  • u013177446
  • 2017年02月15日 17:04
  • 1003

outlook插件开发学习

1、获取outlook邮件的正文内容         在邮件打开的时候   //获取当前邮件                 MailItem mail = Globals.ThisAddIn....
  • u011249351
  • u011249351
  • 2016年10月19日 17:26
  • 412

从“3-4年的.Net开发经验”想到的

我msn上有个朋友是做hr的,经常在他名字后面写一些招聘信息什么的。今天上来也不例外,说是要找“3-4年”工作经验的.Net开发人员。当然我不知道他们公司是怎么想的,不过我想在中国想找真正3-4年工作...
  • jayliu
  • jayliu
  • 2005年06月22日 14:25
  • 2984

Qt -visual studio add-in

在vs中写QT引用程序 1.首先要安装 add-in 插件 2.在属性管理器-> vc++目录中 2.1添加C:\QtSDK\Desktop\Qt\4.8.0\msvc2010\bin到可执行目...
  • china_daywalker
  • china_daywalker
  • 2012年04月13日 13:50
  • 3754
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Outlook add-in 插件.Net开发经验-补充(2)
举报原因:
原因补充:

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