使用 Outlook 中的 Visual Basic for Applications

Visual Basic for Applications (VBA) 可以轻松地在 Microsoft Outlook 内部控制 Microsoft Outlook。 使用 Outlook 中的 VBA,可以创建宏来自动执行复杂或重复的任务。 也可以开发响应 Outlook 事件的程序代码,从而使您可以自动执行常规任务(例如在 Outlook 启动时排列窗口)。

Visual Basic for Applications 使您可以充分利用 Outlook 对象模型,包括大量的应用程序级事件,而无需运行外部应用程序(例如,其他 Microsoft Office 应用程序或使用 Microsoft Visual Basic 开发的应用程序)。 与使用 Microsoft Visual Basic Scripting Edition (VBScript) 开发的窗体脚本不同,Outlook Visual Basic for Applications 代码在应用程序中总是可用;运行代码时不必打开项目。

所有的 Outlook Visual Basic for Applications 代码都包含于项目中。 项目与特定的用户相关,因此在同一台计算机上运行 Outlook 的所有用户都可以自定义 Outlook 来满足自己的需求。 项目可以包含代码模块和用户窗体模块 (请注意,用户窗体模块与 Outlook 窗体) 不同。

可以使用 Visual Basic 编辑器来创建和删除模块、设计用户窗体模块以及编辑模块中的代码。 此编辑器提供了一组强大的工具,包括内置的“对象浏览器”和调试程序,使得开发以及排除代码错误变得更容易。 甚至可以用 Outlook 中的 Visual Basic 编辑器来开发和测试代码,然后将代码复制到独立的 Visual Basic 应用程序或其他 Microsoft Office 应用程序中的 Visual Basic for Applications 应用程序中。

管理多个 Visual Basic for Applications 项目

Outlook supports only one Visual Basic for Applications project, Project1, at a time. You cannot add and run another project in the Visual Basic Editor at the same time. Project1 is stored on your hard disk as VbaProject.OTM; each user on the same computer can have a copy of VbaProject.OTM stored for him or her. On a computer running Windows XP, VbaProject.OTM is in <drive>:\Documents and Settings<user>\Application Data\Microsoft\Outlook.

由于一次只能运行一个 Visual Basic for Applications 项目,因此在运行其他项目之前,应先退出 Outlook,以不同的文件名重命名当前的 VbaProject.OTM,将要运行的项目命名为 VbaProject.OTM,然后重新启动 Outlook 以使该项目运行。 如果合适,还可以通过手动对项目进行整合,使之形成一个 VbaProject.OTM,从而避免文件的命名和重命名。

Outlook Visual Basic for Applications 代码设计为个人宏开发环境,不适合部署或分发。 要在计算机之间移动项目,例如,要从工作计算机向家庭计算机中移动项目,可从工作计算机中导出窗体和代码模块,并将其导入到家庭计算机中。 还可以使用 Visual Basic 编辑器将项目的源代码复制并粘贴到家庭计算机上的 Project1 中。

如果要开发计划分发给多个人的解决方案,则应将 Visual Basic for Applications 代码转换为 Outlook COM 加载项。 但是,开发 COM 加载项通常比创建简短的宏需要更多的编程知识,因此如果 Visual Basic for Applications 项目相对简单,并且没有太多人需要使用它,则可能需要向他们发送带有设置说明的代码。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。