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

最权威的Outlook 2010 中的 VBA 入门

天下 分享 时间: 加入收藏 我要投稿 点赞

其他 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.com 域。现在,假定 Example Networks 收购了 Example

Systems,并将所有员工的电子邮件地址更改为 @example.net。如果您只有一个或两个联系人在 Example Systems,则手动更改这些地址是很简单的工作。但如果有 20、50 或 100 个联系人,则自动执行此类重复性任务便是 VBA 在 Office 中的常见用途了。

本文探讨如何使用 Outlook 中的 VBA 修改联系人,还对一些 VBA 概念做了解释。 访问联系人文件夹

按照您创建Test宏时使用的步骤创建名为CompanyChange的新宏并在 Visual Basic 编辑器中打开该宏。

第一个任务是在 Outlook 中访问“联系人”文件夹对象,然后将对该对象的引用存储在一个变量中。

在编程中,变量是一个临时的命名对象,可保存值或对对象的引用。下面的示例代码使用一个名为ContactsFolder的变量。该代码指示 VBA,它将把一个Folder对象放入其中并运行Session对象的GetDefaultFolder方法,以查找Contacts文件夹并将对它的引用存储在该变量中。

Visual Basic 编辑器中包含一种有帮助的自动代码条目,名为“智能感知”。在键入Session.GetDefaultFolder时要仔细查看,然后按下左括号作为其参数。在执行此操作期间,Visual Basic 编辑器会显示选项列表。使用下拉箭头或鼠标选择olFolderContacts(这是一种可用的文件夹类型),然后按下 Tab 键将其选中。

图 4. 使用“智能感知”选取文件夹类型

虽然在处理代码时使用复制和粘贴功能是可以有效避免键入错误的极好做法,但直接在 Visual Basic 编辑器中键入代码可以亲自体验编辑器对您有何帮助。

VBA

Sub CompanyChange()

Dim ContactsFolder as Folder

Set ContactsFolder = Session.GetDefaultFolder(olFolderContacts) End Sub

再添加一行,以获取一些反馈并在宏的运行过程中测试宏。(而且可以像在“使宏可供访问”一节中那样,花一分钟的时间为CompanyChange创建一个“快速访问工具栏”按钮。) VBA

Sub CompanyChange()

Dim ContactsFolder as Folder

Set ContactsFolder = Session.GetDefaultFolder(olFolderContacts) MsgBox (\End Sub

Items是Folder对象的一个属性,Count是Items属性的一个属性。 运行宏;Outlook 中的联系人数应出现在消息框中。

如果尚未执行此操作,请打开“联系人”文件夹,创建一些为虚构的 Example Systems 公司工作的示例联系人。为每个示例联系人给定公司名称Example

Systems,并为每个联系人创建一个与someone@example.com相似的不同电子邮件地址。 对象集合

集合是现代编程语言(如 VBA)中最强大的功能之一。集合是可以存储在属性中的一组对象,通过轻松“演练”可以访问每个对象。在该示例中,代码必须遍历联系人的集合以查找 Example Systems 的人员。

如上所述,ContactsFolder变量可提供对 Folder 的Items集合的访问权限。联系人 Folder 的Items集合将返回ContactItem类型的对象。创建一个变量,来保存对每个ContactItem的引用。 VBA

Dim Contact AsContactItem

请注意,如果您不知道从集合中返回何种类型的对象,也可以使用通用Object类型。但如果您知道对象的类型,精确指定类型有许多优点。 VBA

Dim Contact As Object

在拥有ContactItem后,必须检查每个人的公司名称。由于ContactItem对象用于存储有关联系人的信息,因此必须存在一个用于存储公司名称的属性,但由于您不知道该属性的名称,因此必须使用下列两种方法之一来查找该名称。 确定属性名称

为了在 VBA 中充分利用对象,必须了解其属性和方法。虽然使用在 Web 中找到的示例代码可以执行许多任务,但您可以通过系统地检查所使用的对象来增加选项、减少调试和节省时间。

例如,您可以通过在代码中选择ContactItem并按下 F1 来在“帮助”的“Outlook 开发人员参考”中查找有关ContactItem的信息,也可以在“帮助”中搜索ContactItem。请务必研究各个主题中的链接,以深入了解相关对象。

“开发人员参考”是用于 VBA 编程的强大工具,也是查找您的代码所需属性的一种方法。在阅读有关ContactItem对象的一般信息后,可单击“ContactItem对象成员”链接查看方法和属性的列表(属性和方法统称为成员)。

如果您继续查看该列表,您会看到一个CompanyName属性。此属性听起来似乎很有用。

除了使用“Outlook 开发人员参考”查找属性或方法外,还可以使用 Visual Basic 编辑器中的智能感知功能。在将变量Contact定义为ContactItem后,键入Contact和句点可以显示与“帮助”中所列内容相同的成员列表。若要选择一个智能感知选项,请使用向上和向下箭头或鼠标突出显示该选项,然后使用 Tab 键将其选中。 智能感知不提供各个成员的说明,因此当上下文使您的选择很明显或您已了解成员的名称但无法记住其准确拼写时,使用此方法将很有帮助。成员名称拼写错误会产生 Visual Basic 编辑器在您运行宏之前一直无法标记的错误。 循环访问集合

现在,您有一个集合,您了解该集合中包含的对象类型,并且要访问找到的对象中的一个属性。您已准备好要使用For Each循环来遍历集合并处理它所包含的对象。 在伪代码中,您准备执行下列操作。 VBA

For Each [object variable] in [a collection that contains that type of object]

[do something with] [object variable].Property Next

在实际代码中,上述代码转换为下列代码,其中涉及包含MsgBox语句的行。

最权威的Outlook 2010 中的 VBA 入门

其他Office应用程序可能会在VisualBasic编辑器中列出多个项目,但在OutlookVBA中,只列出一个项目,并且该项目始终名为Project1。返回到Outlook中的“开发工具”选项卡,再次单击“宏”按钮。在随后出现的列表中选择“Project1.Test”宏,然后单击“运行”显示包含文本“Hello,world!”的小消息框。祝贺您!
推荐度:
点击下载文档文档为doc格式
18emd35if87916095d44
领取福利

微信扫码领取福利

微信扫码分享