代码之家  ›  专栏  ›  技术社区  ›  E.J. Brennan

请解释什么是Outlook加载项

  •  0
  • E.J. Brennan  · 技术社区  · 15 年前

    有人能给我一个在项目类型中何时使用Visual Studio 2008 Outlook 2007广告的快速解释吗?与直接在Outlook中开发一组Outlook宏相比,这又有什么不同呢?

    基本上,我想让一些应用程序从POP3电子邮件框中读取电子邮件(带附件),对主题/发件人/内容进行筛选/编辑/验证,然后如果满足某些条件,将附件保存到本地文件,然后将条目添加到SQL Server数据库表中(即日期/发件人/主题/消息)。

    似乎至少有10种不同的方法可以做到这一点……那么在一个Outlook宏和一个vs office项目之间,我该如何选择呢?

    我不清楚,如果我将此解决方案创建为Visual Studio Outlook加载项,它在哪里运行?它是否加载到Outlook中,是否作为单独的进程运行并与Outlook进行来回通信?如果Outlook没有运行,是否启动它?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Program.X    15 年前

    Outlook加载项是使用Outlook API执行所需任务的已编译组件。宏/VB脚本是一个解释脚本,实际使用相同的API。如果您想部署您的功能,这个附加组件方法会更好。

    当您在VisualStudio中使用Outlook插件时,您将创建一个.NET组件,该组件集成到Outlook应用程序中,该应用程序是用C++编写的,因此使用COM。对于托管/非托管类型以及释放从Outlook检索到的对象,您必须小心。

    我最近刚刚完成了这样一个工具,但我选择了使用插件Express( http://www.add-in-express.com/ )。这些人提供了一个抽象层来覆盖[具有挑战性的]outlook api,并且在您陷入困境时提供了一些极好的支持。

    在我的例子中,使用外接程序Express,我通过在项目属性中将Outlook设置为要运行的应用程序命令来“运行”。外接程序Express在Outlook中对外接程序的安装进行排序。因此,当我按下“运行”时,Outlook将启动并显示我的加载项,该加载项可能以正常方式进行调试。我不知道vsto(Visual Studio Tools for Office)在这方面是如何工作的——或者至少,我不记得了。

        2
  •  1
  •   Leo Jweda    15 年前

    This 是一个Outlook加载项的示例。 就个人而言,我不认为宏是可分发的。