怎么在outlook里面插入一个插件,用VC写的,最好是带代码,我做群发用的,有吗??好心啊!

怎么在outlook里面插入一个插件,用VC写的,最好是带代码,我做群发用的,有吗??好心啊!,第1张

一、实现插件 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,按如上方法处理即可,不再赘述。

我想用自己的说法来简单说明:

这个功能就是提供一个让程序来控制Excel(或Word、Outlook)的功能,让程序来桥尘自动生成Office文档(一般是你要的报表)。

也就是说,你可以让你的程序新建或打开一个Excel文件,并对它进行你想做的编辑 *** 作,比如:对各单元格的填写、格式的设置、图表功能,等等,可以说,你能够手工在Excel中做的编辑工作,在这里都可以通过程序来完成。

比如,你写一个程序,输入一些查询条件,联旅消基接到SQL数据库查询到结果,再新建一个Excel,把数据库中的数据做分类汇总后,按期望的形式写入Excel(可以在单元格中建立公式),然后设置好Excel中拆谨的各单元格格式、并建立一些图表。这样你就实现了报表的Excel输出。

Microsoft Office 应用程序可以禁用加载时发生意外行为的外接程序。如果应用程序在您尝试调试外接程序时没有加载该外接程序,则说明应用程序可能已硬禁用或软禁用您的外接程序。重新启用外接程序的过程因应用程序的不同而不同。硬禁用的外接程序当在加载了外接程序的情况下运行的用户代码导致应用程序意外关闭时,以及当构造函数或 Startup 事件处理程序正在执行的情况下停止调试器时,会发生硬禁用。对于所有 Microsoft Office 2003 应用程序而言,此过程都相同。重新启用已被 Microsoft Office 2003 应用程序硬禁用的外接程序在“帮助”菜单上单击“关于 Microsoft Office <应用程序名称>”。单击“禁用项目”。用Visual Studio Tools for Office 创建的外接程序会出现在禁用项目列表中,显示为“Addin:<外接程序名称>AddinLoader.dll”选择外接程序,然后单击“启用”。2007 Microsoft Office system对于2007 Microsoft Office system 中的应用程序,有两个不同的过程。您使用的过程取决于应用程序。重新启用已被 Excel 2007、PowerPoint 2007 或 Word 2007 硬禁用的外接程序在此应用程序中,单击“Microsoft Office 按钮”。单击“<应用程序名称>选项”按钮。在类别窗格中,单击“加载项”。在详细信息窗格中的“禁用的应用程序加载项”列表中找到此外接程序。“名称”列指定了程序集的名称,“位置”列指定了应用程序清单的完整路径。在“管理”框中单击“禁用的加载项”,再单击“开始”。选择外接程序,然后单击“启用”。单击“关闭”。重新启用已被 InfoPath 2007、Outlook 2007 或 Visio 2007 硬禁用的外接程序在“工具”菜单上单击“信任中心”。在类别窗格中,单击“加载项”。在详细信息窗格中的“禁用的应用程序加载项”列表中找到此外接程序。“名称”列指定了程序集的名称,“位置”列指定了应用程序清单的完圆禅整路径。在“管理”框中单击“禁用的加载项”,再单击“开始”。选择外接程序,然后单击“启用”。单击“关闭”。软禁用外接程序当外接程序在构造函数或 Startup 事件处理程序中引发未处理的异常,而应用程序未意外关闭时凳腔差,会发生软禁用。注意 重新启用软禁用的外接程序时,应用程序会立即尝试加载该外接程序。如果最初导致应用程序软禁用外接程序的问题未解决,则应用程序将再次软禁用该外接程序。对于Microsoft Office 2003 中的应用程序,有两个不同的过程。您使用的过程取决于应用程序。重新启用 Outlook 2003 软禁用的外接程序在“工具”菜单上单击“选项”。在“其他”选项卡上单击“高级选项”。单击“COM 加载项”。选择禁用外接程序旁的复选框,然后单击“确定”。重新启用 Excel 2003、PowerPoint 2003、Visio 2003 或 Word 2003 软禁用的外接程序在“视图”菜单上指向“工具栏”,然后单击“自定义”。单击“命令”选项卡。在“类别”框中单击“工具”。在“命令”框中选择“COM 加载项”,然后将其拖动到工具栏。单击“关闭”。在工具栏上单击“COM 加载项”。选中禁用的外接程序旁的复选框,然后单击“确定”。2007 Microsoft Office system对于2007 Microsoft Office system 中的应用程序,有两个不同的过程。您使用的过程取决于应用程序。重新启用被 Excel 2007、PowerPoint 2007 或 Word 2007 软禁用的外接程序在此应用程序中,单击“Microsoft Office 按钮”。单枣皮击“<应用程序名称>选项”按钮。在类别窗格中,单击“加载项”。在详细信息窗格中的“非活动应用程序加载项”列表中找到此外接程序。“名称”列指定了程序集的名称,“位置”列指定了应用程序清单的完整路径。在“管理”框中单击“COM 加载项”,再单击“开始”。在“COM 加载项”对话框中,选中禁用的外接程序旁的复选框。单击“确定”。重新启用被 InfoPath 2007、Outlook 2007 或 Visio 2007 软禁用的外接程序在“工具”菜单上单击“信任中心”。在类别窗格中,单击“加载项”。在详细信息窗格中的“非活动应用程序加载项”列表中找到此外接程序。“名称”列指定了程序集的名称,“位置”列指定了应用程序清单的完整路径。在“管理”框中单击“COM 加载项”,再单击“开始”。在“COM 加载项”对话框中,选中禁用的外接程序旁的复选框。单击“确定”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12224304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存