好文档 - 专业文书写作范文服务资料分享网站

最权威的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 中对象模型的基本布局以及Application、Explorer和Folder对象的一些关键属性(允许您访问当前状态)后,便可以开始使用 VBA 扩展和处理 Outlook 了。

宏和 Visual Basic 编辑器

既然您已了解 Outlook 2010 应用程序如何公开其对象模型,可能已等不及要尝试调用对象方法、设置对象属性以及响应对象事件。为此,您必须在一个位置以 Office 可以理解的方法编写代码;通常使用是 Visual Basic 编辑器。尽管该编辑器是在默认情况下安装的,但在功能区中启用该编辑器之前,许多用户都不知道该编辑器的存在。

打开“开发工具”选项卡

所有 Office 2010 应用程序都使用功能区。功能区中有一个“开发工具”选项卡,在此可以访问 Visual Basic 编辑器和其他开发人员工具。由于 Office 2010 在默认情况下不显示“开发工具”选项卡,因此必须使用以下过程启用该选项卡:

启用“开发工具”选项卡

1. 2. 3. 4.

在“文件”选项卡上,选择“选项”打开“Outlook 选项”对话框。 单击该对话框左侧的“自定义功能区”。

在该对话框左侧的“从下列位置选择命令”下,选择“常用命令”。

在该对话框右侧的“自定义功能区”下,选择“主选项卡”,然后选中“开发工具”复选框。 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(\End Sub

图 2. 在 Visual Basic 编辑器中测试宏

注意 Visual Basic 编辑器的左面板。Test 宏位于 Project1 的 Module1 中。一个项目模块包含多个模块,每个模块包含可以作为 .bas 文件导入或导出的 VBA 代码的集合。

只要对象存在,便可通过设置其属性和调用其方法来处理该对象。您编辑过的子例程中包含一个方法,该方法是用于执行操作的代码。该子例程中的Test()方法现在是对象 Project1 的一个成员。

注释:

最权威的Outlook 2010 中的 VBA 入门

Outlook2010中的VBA编程您是否面临从Outlook2010中重复清除多个联系人的难题?是否必须将大量电子邮件附件逐一保存到硬盘?是否想从某些电子邮件消息中自动创建日历项目?还是不知道如何将MicrosoftOutlook2010中的联系人高效地导入MicrosoftExcel2010电子表格?使用VisualBas
推荐度:
点击下载文档文档为doc格式
18emd35if87916095d44
领取福利

微信扫码领取福利

微信扫码分享