怎么在outlook里面插入一个插件,用VC写的,最好是带代码,我做群发用的,有吗??好心啊!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在outlook里面插入一个插件,用VC写的,最好是带代码,我做群发用的,有吗??好心啊!相关的知识,希望对你有一定的参考价值。
例外还需要数据库调用命令,一边搜寻然后自动保存,一边按顺序调用数据.
参考技术A 一、实现插件 Office/VisualStudio都支持插件(add-in),要实现一个addin,只需:构造一个COM组件,实现IExtensibility2接口 在注册表中,HKCU\Software\Microsoft\Office\<App>\Addins下写入启动方式等信息这样,当Host软件启动后就会按照注册表中的信息,构造COM对象,并按照IExtensibility2进行调用。Add-in程序这时就可以调用HostApp中的COM组件,实现自己的功能了。使用VC/ATL实现时,利用IDE的功能(如建立ATL/COM工程、添加一个Simple COM object、实现一个接口)即可搭建完这部分代码的框架。注意接口类在“Microsoft Add-In Designer(1.0)”这个Typelib中。详细Tutorial见 http://www.devarticles.com/c/a/C++/Building-An-Outlook-COM-AddIn-With-VC需要注意的是,该Tutorial里处理事件采用的是IDispEventSimpleImpl,这个功能还是比较受限制的,小心。 VC6的ATL工程,默认的release版会加入_ATL_MIN_CRT宏,这使该工程不使用MSVCRT,如果在工程中引入了Office组件,两个CRT会发生冲突。应当删除之。二、参考资料 MSDN光盘上没有Office内部类的References,要查帮助,就得在office里面查。进入Outlook的VBA编辑界面,F2就可以列出所有的与Outlook相关的COM对象,再按F1就可以看到对象、属性、方法、事件的帮助,当然,都是VB语法的。中文版的office,帮助也就是中文的。看这种文档的中文版,还颇有些不适应。为了察看Outlook里COM对象的树状结构,可以在VBA里面写这样的过程:Sub a() Set b = Outlook.Application '或者干脆 Set b = ApplicationEnd Sub单步执行或设置断点,然后把b添加为Watch,就可以展开b的内容,慢慢研究了。三、Outlook的Action菜单 添加菜单的方法,Tutorial里面写的很清楚了,不再多说。:-)Outlook的Action菜单有些特殊。Outlook有多个Action Menu,对应着不同的Folder。即,Contact的Action菜单与Task的Action菜单是不同的。如果打算添加在Action菜单里,注意要选对CommandBarPopup对象。值得注意的是,这个Action菜单,是Create-On-Demand的,其创建顺序不定。也就是说,刚启动时,没有Contact的Action Menu,等用户点击了Contact Folder,对应的Action Menu才创建出来。不过,菜单的Id是固定的,不仅在多次运行时不会变化,甚至office版本之间也是不变化的。可以使用CommandBars或者CommandBar的FindControl方法来找到Menu。换句话,响应CommandBar的OnUpdate事件,在处理函数中检测期望的菜单是否被创建出来,若是,则加入自己的菜单项。四、Outlook的上下文菜单(右键菜单) Outlook的上下文菜单与Excel等软件不同,是动态创建的,即每次点右键的时候临时创建。同上述方法,OnUpdate的时候检测上下文菜单中是否包含我关心的菜单项,如果包含,把我自己的菜单项添加到它的前面/后面。上下文菜单与主菜单还有一个地方不同:它默认是不允许Customize的。Customize菜单之前要修改菜单的Protection属性,去掉msoBarNoCustomize。据说修改上下文菜单的这个属性,会使已显示出的的其它下拉菜单消失,因此应当只在有必要修改时才进行设置,即:if msoBarNoCustomize set, clear it.如果使用了IDispEventSimpleImpl来处理事件,要注意它只能同一个COM组件建立连接,在DispEventAdvise之前,要对前一个COM对象DispEventUnadvise。五、子窗口的菜单 双击一个Contact或者Task,会出现一个新窗口,这个窗口就是一个Inspector(参见COM对象的树状结构),Inspector也有自己的Bars,按如上方法处理即可,不再赘述。 参考技术B vs2008可以创建outlook托管代码外接程序的项目求救:到底GMP能不能在VC里面用?
到底GMP能不能在VC里面用?我下了个4.几版本的静态库,发现用起来好麻烦,只有C的函数,没有C++的接口。要怎么样才能用上C++的接口啊?还有,我用的是visual C++ 6.0。因为发现静态库在VS2008用不啊!太郁闷了。求救!!!
参考技术A 这个东东在VC++6.0或者是VS2008下能用吗?能不能详细说一下那个dll怎么包含,工程属性怎么设置。我是个菜鸟以上是关于怎么在outlook里面插入一个插件,用VC写的,最好是带代码,我做群发用的,有吗??好心啊!的主要内容,如果未能解决你的问题,请参考以下文章