最权威的Outlook 2010 中的 VBA 入门
Outlook 2010 中的 VBA
您是否面临从 Outlook 2010 中重复清除多个联系人的难题?是否必须将大量附件逐一保存到硬盘?是否想从某些消息中自动创建日历项目?还是不知道如何将 Microsoft Outlook 2010 中的联系人高效地导入 Microsoft Excel 2010 电子表格?
使用 Visual Basic for Applications (VBA) 可以执行上述任务并实现更多功能,VBA 是一种简单而又强大的编程语言,可为 Office 2010 应用程序扩展新功能,还可以自动执行重复性任务
本文面向有经验的 Outlook 用户,他们希望了解有关 VBA 的信息,还希望深入了解编程对其根据需要定制 Outlook 2010 有何帮助
在阅读本文之前,您可能要阅读介绍性文章Office 2010 中的 VBA 入门,其中详细介绍了有关 VBA 编程的基础知识
Office 2010 中的 VBA 编程的强大功能在于,使用 VBA 可以完成用鼠标、键盘或对话框可以执行的几乎所有操作。而且,如果使用 VBA 可以执行一次,就可以轻松地执行上百次、上千次。(实际上,自动执行重复性任务是 VBA Office 中的一种最常见用法。
除了可通过编写 VBA 脚本来加速执行日常任务,还可以使用 VBA Office 2010 应用程序添加新功能,或以特定于您的业务需要的方式来提示文档用户并与之交互。例如,在 Outlook 2010 中,您可以使用 VBA 通过标准用户界面中未提供的方式对联系人、、日历项目或任务执行排序、导出和修改操作
本文中的教程可使用 VBA 实现 Outlook 的自动化。该教程是一个实际示例,研究为有经验的 Outlook 用户提供的编程、VBA 和开发工具
选择方
VBA 编程是一种功能强大的解决方案,但并不总是最佳方法。有时候使用其他途径来实现目标更合适
关键问题在于是否有更简单的方法。在开始 VBA 项目之前,请考虑内置工具和标准功能。例如,如果需要在 Outlook 中执行一项费时的操作,可考虑使用规则来解决此问题。是否可以执行一次任务然后使用 Ctrl+Y(重做)来重复该任务
Outlook 2010 是一种功能强大的应用程序;您需要的解决方案可能已经准备就绪了。花些时
间了解有关 Outlook 2010 的更多信息,再跳转到编程过程
在开始 VBA 项目之前,确保您有时间使用 VBA。需要关注编程,编程结果可能无法预知。尤其是初学者,除非有时间仔细研究,否则切勿依靠编程。当期限迫近会造成极大压力时,可尝试编写快速脚 来解决问题。如果您的时间很紧,可以使用较传统的方法,即使这些方法单调又重复,也必须这样做
VBA 编程 101
通过代码使应用程序执行操
您可能认为编写代码是一项神秘而又复杂的工作,但基本原则是使用日常推理,并且很容易掌握。Office 2010 应用程序的创建方式如下:公开可以接收指令的对象,类似于为了与电话交互而设计带按键的电话。按下按键时,电话会识别指令并按照拨号顺序包括对应的号码。在编程时,您是通过向应用程序中的各个对象 发送指令来与应用程序交互。这些对象是可扩展的,但有限制。这些对象只能执行为其设计的操作,并且只按照您的指令执行操作
例如,请考虑这样的用户:他在 Outlook 中创建、选择收件人、键入邮件主题,然
后单击发送。在 VBA 编程中,Outlook 会公开一个 MailItem 对象。使用 VBA 代码,您可以设置 MailItem 的主题和正文,并告诉它执行保存发送操作。阅读本文后,您将了解有关这些对象、这些对象的组织方式及其描述和操作方式的更多信息
对象、方法和属
开发人员通过层次结构来组织编程对象,该层次结构称为应用程序的对象模型。例如,Outlook 中的收件箱 Outlook Namespace 对象中的一个 Folder 对象。Folder 对象包含 MailItem 对象,等等。对象模型概略地对用户界面中显示的内容进行镜像,对象模型是应用程序及其功能的概念图。从编程角度而言,Folder 对象可以包含任意类型的项目对象,但通常 Outlook 用户界面中的几个文件夹都主要由特定类型的项目对象组成。例如,Outlook 用户界面提供一个主要包含 ContactItem 对象的联系人文件夹,和一个主要包含 AppointmentItem MeetingItem 对象的日历文件夹
对象的定义称为,因此您可能会看到互换使用这两个术语的情况。从技术上讲,类是用于创建或实例化 对象的说明或模板
只要对象存在,便可通过设置其属性 和调用其方法 来处理该对象。如果您认为对象是一个名词,则属性是描述该名词的形容词,方法是为名词赋予行动的动词。更改属性会更改对象的外观或行为的质量。调用对象的一个方法可使对象执行某个操作
在了解 Outlook 中对象模型的基本布局以及 ApplicationExplorer Folder 对象的一些关键属性(允许您访问当前状态)后,便可以开始使用 VBA 扩展和处理 Outlook
宏和 Visual Basic 编辑
既然您已了解 Outlook 2010 应用程序如何公开其对象模型,可能已等不及要尝试调用对象方法、设置对象属性以及响应对象事件。为此,您必须在一个位置以 Office 可以理解的方法编写代码;通常使用是 Visual Basic 编辑器。尽管该编辑器是在默认情况下安装的,但在功能区中启用该编辑器之前,许多用户都不知道该编辑器的存在
打开开发工具选项
所有 Office 2010 应用程序都使用功能区。功能区中有一个开发工具选项卡,在此可以访问 Visual Basic 编辑器和其他开发人员工具。由于 Office 2010 在默认情况下不显示开发工具
选项卡,因此必须使用以下过程启用该选项卡
启用开发工具选项
1.文件选项卡上,选择选项打开“Outlook 选项对话框
2.单击该对话框左侧的自定义功能区
3.在该对话框左侧的从下列位置选择命令下,选择常用命令
4.在该对话框右侧的自定义功能区下,选择主选项卡,然后选中开发工具复选框
5.单击确定
注释:
Office 2007 中,显示开发工具选项卡的方法是单击 Office 按钮、单击选项,然后在选项对话框中的常用类别下选中在功能区显示开发工具选项卡复选框。
启用开发工具选项卡后,可以轻松到“Visual Basic”按钮
1. Outlook 2010 中的开发工具选项卡
安全问
默认情况下,为了使您免受病毒和其他恶意代码的侵害,Outlook 中会禁用 VBA 宏。若要启用这些宏,请使用以下过程
启用
1.文件选项卡上,选择“Outlook 选项打开“Outlook 选项对话框,然后单击信任中心
2.单击信任中心设置,然后单击左侧的宏设置选项
3.选择为所有宏提供通知,然后单击确定。该选项允许在 Outlook 中运行宏,但在宏运行之前,Outlook 会提示您确认是否要运行宏
4.重新启动 Outlook 以使配置更改生效
Visual Basic 编辑
在显示开发工具选项卡后,可以打开 Visual Basic 快捷指令怎么打开允许不受信任的快捷指令编辑器,该编辑器是用于编写和编辑用于 Outlook VBA 代码的内置工具。使用以下过程可以打开 Visual Basic 编辑器
打开 Visual Basic 编辑
1.单击开发工具选项卡上的按钮
2.在随后出现的对话框中的宏名称下键入 Test
3.单击创建按钮打开 Visual Basic 编辑器,其中包含已键入的新宏的大纲
Visual Basic 编辑器包含下列代码
VBA
Sub Test()
End Sub
Sub 代表Subroutine(子例程),可将其暂时定义为。运行 Test 宏将运行 Sub Test() End Sub 之间的所有代码
现在,请编辑宏,使其类似如下代码
VBA
Sub Test()
  MsgBox("Hello world")
End Sub
2. Visual Basic 编辑器中测试宏
注意 Visual Basic 编辑器的左面板。Test 宏位于 Project1 Module1 中。一个项目模块包含多个模块,每个模块包含可以作为 .bas 文件导入或导出的 VBA 代码的集合
只要对象存在,便可通过设置其属性 和调用其方法 来处理该对象。您编辑过的子例程中包
含一个方法,该方法是用于执行操作的代码。该子例程中的 Test() 方法现在是对象 Project1 的一个成员。
注释:
其他 Office 应用程序可能会在 Visual Basic 编辑器中列出多个项目,但在 Outlook VBA 中,只列出一个项目,并且该项目始终名为 Project1
返回到 Outlook 中的开发工具选项卡,再次单击按钮。在随后出现的列表中选择“Project1.Test”宏,然后单击运行显示包含文本“Hello, world!”的小消息框
祝贺您!您刚刚在 Outlook 中创建并实现了 VBA 代码!在消息框中单击确定关闭消息框并完成宏的运行
如果未出现消息框,请检查宏安全性设置并重新启动 Outlook
使宏可供访
如果您经常使用宏,可能会发现用键盘快捷方式或快速访问工具栏按钮访问宏更为方便
若要在快速访问工具栏中为“Test”宏创建按钮,请使用以下过程
快速访问工具栏中为宏创建按
1.单击文件选项卡
2.单击选项打开“Outlook 选项对话框,然后单击快速访问工具栏
3.从下列位置选择命令:”下的列表中,选择。在随后出现的列表中查类似于“Project1.Module1.Test”的文本,并选择该文本。
4.单击添加 >>”按钮将宏添加到右侧的列表中,然后单击修改…”按钮选择与该宏关联的按钮图像。
5.单击确定。现在,您应在快速访问工具栏中的文件选项卡上方看到新按钮。
现在,您不必使用开发工具选项卡,便可随时快速运行宏,赶快试试吧
3. 向快速访问工具栏分配宏
联系人编辑
假设您在名为 Example Systems 的公司中有多个联系人,每个联系人的地址都包含 @example 域。现在,假定 Example Networks 收购了 Example Systems,并将所有员工的地址更改为 @example。如果您只有一个或两个联系人在 Example Systems,则手动更改这些地址是很简单的工作。但如果有 2050 100 个联系人,则自动执行此类重复性任务便是 VBA Office 中的常见用途了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。