创建用户界面 (UI) 宏

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

在 Microsoft Access 中,附加到用户界面 (UI) 对象,如命令按钮的宏的文本框、 窗体和报表被称为 UI 宏。此区分它们与附加到表的数据宏。您可以使用 (UI) 宏自动执行的操作,打开另一个对象,如一系列应用筛选器,开始导出操作和许多其他任务。本文向您介绍新重新设计的宏生成器中,并显示您的基本任务所涉及到创建 UI 宏。

注意: 本文不适用于 Access Web 应用 - 使用 Access 设计并联机发布的数据库。有关详细信息,请参阅创建 Access 应用

本文内容

概述

新增功能

创建独立的宏

创建嵌入的宏

添加到宏操作

控制其他如果,如果使用的程序流和 Else

创建 submacros

组合相关的操作

展开和折叠宏操作或块

复制并粘贴宏操作

与他人共享宏

运行宏

调试宏

转换为 VBA 代码的宏

概述

宏可以包含在宏对象 (有时称为独立宏),或他们可以嵌入的窗体、 报表或控件事件属性。嵌入的宏成为的控件它们嵌入的对象的一部分。宏对象在导航窗格中,在; 不可见不是嵌入的宏。

每个宏由组成的一个或多个宏操作。根据您使用的上下文,某些宏操作可能不可可供使用。具体而言,如果您要设计 Web 数据库,您将无法使用与发布到 Access Services 功能不兼容的某些宏操作。

有关创建 Web 数据库的详细信息,请参阅生成可在 Web 上共享的 Access 数据库一文。

文档顶部

新增功能

Access 功能新设计器创建与 Access 2010 开头的宏。一些新设计的优点包括 ︰

  • 操作目录   宏操作是按类型组织和搜索。

  • IntelliSense   当键入表达式,IntelliSense 建议可能的值,并允许您选择正确。

  • 键盘快捷方式   为更快、 更方便宏编写使用组合键。

  • 程序流   与注释行和操作的组创建更易于阅读的宏。

  • 条件语句   使用嵌套 If/Else/Else 如果支持允许更复杂的逻辑执行。

  • 重复使用宏   操作目录显示您已创建的使您可以将其复制到您正在处理的一个其他宏。

  • 轻松地共享   复制宏,然后将其粘贴为 XML 电子邮件、 新闻组文章、 博客上或代码示例网站。

文档顶部

创建独立的宏

此过程创建的独立宏对象,将出现在导航窗格中的。当您想要重复使用的应用程序的多个位置中的宏,独立宏非常有用。通过从其他宏调用宏,您可以避免重复相同的代码中的多个位置。

  1. 创建选项卡上的宏和代码组中,单击

    Access 打开宏生成器。

  2. 在快速访问工具栏上,单击保存

  3. 另存为对话框中,为该宏,请键入一个名称,然后单击确定。

  4. 继续执行部分中添加宏操作

文档顶部

创建嵌入的宏

此过程创建事件属性的对象中嵌入的宏。此类宏不在导航窗格中,但可以从事件 (如)加载在单击名为。

因为宏变为窗体或报表对象的一部分,被建议嵌入的宏自动执行特定于特定窗体或报表的任务。

  1. 在导航窗格中,右键单击窗体或报表,包含该宏,然后单击布局视图

  2. 如果尚未显示属性表,请按 F4 显示该表。

  3. 单击控件或部分中包含您要嵌入宏的事件属性。您还可以选择控件或节 (或整个窗体或报表) 使用属性表顶部的下拉列表中,在所选内容类型下。

  4. 在属性表任务窗格中,单击事件选项卡。

  5. 单击要触发宏的事件的属性框中。例如,命令按钮,如果您想要在单击该按钮时运行的宏,请单击上单击属性框中。

  6. 如果属性框中包含的字词[嵌入的宏],这意味着宏已创建此事件。您可以编辑宏,继续在此过程的其余步骤。

  7. 如果属性框中包含的字词[事件过程],这意味着 Visual Basic for Applications (VBA) 过程,已创建此事件。您可以在事件中嵌入宏之前,您需要删除该过程。您可以执行此操作通过删除单词[事件过程],但您首先应检查以确保,删除它不会中断所需的功能在数据库中的事件过程。在某些情况下,您可以通过使用嵌入式的宏重新创建 VBA 过程的功能。

  8. 单击 按钮图像 生成按钮。

  9. 如果出现选择生成器对话框中,确保选中宏生成器,然后单击确定

    Access 打开宏生成器。继续下一节将操作添加到该宏。

文档顶部

添加到宏操作

操作的宏,组成的单个命令和每名为其用途,例如,根据FindRecordCloseDatabase

步骤 1 ︰ 浏览或搜索宏操作

添加操作的第一步在添加新操作下拉列表或操作目录中查找它。

注释: 

  • 默认情况下,添加新操作下拉列表和操作目录仅显示不受信任的数据库中将执行的操作。若要查看所有操作 ︰

    • 在“设计”选项卡上的“显示/隐藏”组中,单击“显示所有操作”。

  • 如果未显示操作目录,在设计选项卡上的显示/隐藏组中,单击操作目录

若要查找操作,请使用下列方法之一 ︰

  • 单击在下拉列表中添加新操作,然后向下查找操作滚动箭头。首先,列出程序流元素,然后按字母顺序列出的宏操作。

  • 浏览到操作目录窗格中的操作。按类别进行分组操作。展开每个类别以查看的操作。如果您选择操作,底部的操作目录显示操作的简短说明。

  • 通过在窗格顶部的搜索框中键入搜索操作目录窗格中的操作。当您键入时,筛选操作的列表以显示包含该文本的所有宏。访问搜索宏名称和您输入的文本及其说明。

步骤 2 ︰ 添加到宏操作

一旦找到所需的宏操作,将其添加到该宏通过以下方法之一 ︰

  • 添加新操作列表中,选择操作,或只需开始在框中键入操作的名称。Access 会显示添加新操作列表的位置处添加操作。

  • 将操作从操作目录拖动到宏窗格。插入栏就会显示在释放鼠标按钮时该操作将插入的位置。

  • 双击操作目录中的操作。

    • 如果在宏窗格中选择了操作,Access 会添加正下方的所选的一个新的操作。

    • 如果在宏窗格中选择组中如果其他Else,或者子宏块,Access 会将新操作添加到该块。

    • 如果没有操作或块选择宏窗格中,Access 会新操作添加到该宏的末尾。

      注释: 

      • 如果您已经创建了一个或多个宏,列出了这些操作目录中的此数据库中节点下。

        • 拖动到宏窗格中独立宏 (一个列出在下) 创建该宏中拖动RunMacro操作。然后可以使用下拉列表以呼叫 submacros,如果存在。

        • 如果只希望将独立宏操作复制到当前宏 (而不是创建RunMacro操作),请在操作目录中,右键单击它,然后单击添加宏的副本

        • 将嵌入式的宏 (一个列出在窗体或报表的对象下) 拖动到宏窗格中将操作的宏从复制到当前的宏。

      • 您可以通过将数据库对象从导航窗格拖动到宏窗格来创建一个操作。如果将表、 查询、 窗体、 报表或模块拖动到宏窗格中,Access 将添加一个打开的表、 查询、 窗体或报表的操作。如果另一个宏拖到宏窗格中时,Access 会添加该宏操作。

步骤 3 ︰ 填写参数

大多数宏操作要求至少一个参数。 您可以通过选择操作,然后将指针移到参数上查看每个参数的说明。对于多个参数,您可以从下拉列表中选择一个值。如果参数要求您在表达式中键入,IntelliSense 可帮助您输入的表达式通过建议可能的值,当您键入时,如下图所示 ︰

使用 IntelliSense 输入表达式

当您看到想要使用的值时,将其添加到您的表达式通过双击它或使用箭头键以突出显示它,然后按 TAB 或 ENTER 键。

有关创建表达式的详细信息,请参阅表达式简介一文。

有关使用智能感知 web 数据库中的属性

Web 兼容窗体上创建嵌入式的 UI 宏时智能感知将允许您向表达式中添加任何窗体属性。但是,在 web 数据库中,可以通过使用用户界面宏访问窗体属性的子集。例如,提供名 Control1 为名为 Form1 窗体上的控件,IntelliSense 将允许您添加 [Forms] ![Form1] ![Control1]。[ControlSource] 到中的 UI 宏的表达式。但是,如果然后将数据库发布到 Access Services,包含该表达式的宏将生成在服务器上运行时错误。

下表显示的属性,您可以使用在 web 数据库中的 UI 宏 ︰

对象或控件

您可以使用的属性

表单

标题,已更新,AllowAdditions、 允许删除、 允许编辑

选项卡控件

可见

标签

标题中可见,有关颜色、 背景色

附件

可见、 已启用

命令按钮

标题、 可见、 已启用,字体颜色

文本 tBox

启用,可见,锁定、 前景色、 背景色,价值

复选框

启用、 可见,请锁定时,价值

图像

可见的背景颜色

组合框

启用、 可见,请锁定时,价值

列表框

启用、 可见,请锁定时,价值

Web 浏览器

可见

子窗体

启用,可见锁定

导航控件

启用可见

移动操作

按顺序,从顶部到底部的宏执行操作。 若要在宏中向上或向下移动操作,请使用下列方法之一 ︰

  • 操作向上或向下拖动到所需的位置。

  • 选择操作,然后按 CTRL + 向上键或 CTRL + 向下箭头。

  • 选择操作,然后单击右侧的宏窗格中的上移下移箭头。

删除操作

若要删除的宏操作 ︰

  • 选择操作,然后按 DELETE 键。或者,您可以单击右侧的宏窗格中的删除(X) 按钮。

    注释: 

    • 如果删除了多个操作,如If块或块,以及删除块中的所有操作。

    • 上移下移删除命令也可显示当您右键单击宏操作的快捷菜单上找到。

文档顶部

控制其他如果,如果使用的程序流和 Else

若要仅在满足特定条件时,请执行宏操作,您可以使用If块。这将替换早期版本的 Access 中使用条件列。您可以扩展还如果Else块,类似于其他有序的编程语言,如 VBA 与If块。

下图显示了简单的If块,包括其他如果Else块 ︰

一个包含 If/Else If/Else 语句的宏。

如果块执行如果 ExpirationDate 字段小于当前日期。

其他 If块执行如果 ExpirationDate 字段等于当前日期。

如果无以前块执行Else块执行操作。

如果块此处结束。

添加 If 块为宏

  1. 如果选择从添加新操作下拉列表,或将其从操作目录窗格拖动到宏窗格中。

  2. 在顶部的If块中,键入表达式,确定执行块的时间。表达式必须为布尔值 (即,一个或者计算结果是或否)。

  3. 将操作添加到If块,通过从在块中,将显示添加新操作下拉列表中选择它们或将其从操作目录窗格拖动到If块。

添加其他联系人或阻止其他如果 If 块

  1. 选择 If ,然后在块的右下角,单击 添加其他添加其他如果

  2. 如果您要添加其他 If块,键入表达式,确定执行块的时间。表达式必须为布尔值 (即,一个的计算结果为 True 或 False)。

  3. 将操作添加到其他如果Else块,通过从在块中,将显示添加新操作下拉列表中选择它们或将其从操作目录窗格拖动到块。

    注释: 

    • 若要添加如果其他如果,和Else块的命令可显示当您右键单击宏操作的快捷菜单上。

    • 如果块可以嵌套最多 10 层。

文档顶部

创建 submacros

每个宏可以包含多个 submacros。子宏的设计由名称从RunMacroOnError宏操作。

添加子宏阻止为宏相同的方式,您宏操作,部分中添加宏操作中所述。添加子宏块后,您可以将宏操作拖到它,或从出现在块中添加新操作列表中选择操作。

注释: 

  • 您还可以通过选择一个或多个操作,右键单击它们,然后选择使子宏块创建子宏块。

  • 必须始终宏; 中的最后一个块 submacros。不能添加子宏下方 (除详细 submacros) 的任何操作。如果您运行仅包含 submacros,而不是专门命名子宏的宏所需的宏,请将运行仅第一个子宏。

  • 若要呼叫子宏 (例如,在事件属性,或使用RunMacro操作或OnError操作),请使用以下语法 ︰

    macroname.submacroname

文档顶部

组合相关的操作

您可以通过组合在一起的操作和向组分配有意义的名称来提高可读性的宏。例如,您可以分组操作,打开,为组筛选窗体名为"打开和筛选器表单。这使得更易于查看彼此相关的操作。块不会影响如何执行的操作,也能名为组中,或将其单独运行。其主要用途是用于标记一组操作来帮助您阅读时了解宏。此外,在编辑大型宏时,可以折叠每个组块下一行,减少滚动您必须执行。

如果要进行分组的操作位于该宏,请使用此过程将它们添加到块 ︰

  1. 选择要组合的操作。

  2. 右键单击所选的操作,然后单击创建组块

  3. 在顶部的块框中,键入组的名称。

如果操作尚不存在 ︰

  1. 阻止从操作目录拖动到宏窗格。

  2. 在顶部的块框中,键入组的名称。

  3. 将宏操作从操作目录拖动到块,或从出现在块中添加新操作列表中选择操作。

块可以包含其他块,并可以最多为 9 级的嵌套。

文档顶部

展开和折叠宏操作或块

当您创建新宏时,宏生成器中显示带有可见的所有参数的宏操作。根据宏的大小,您可能希望折叠一些,或所有宏操作 (和操作的块) 时您正在编辑的宏。这使得更加轻松地获取您的宏的结构的总体视图。您可以展开某些或所有操作,根据需要对其进行编辑。

展开或折叠单个宏操作或块

  • 单击加号 (+) 或减号 (-) 左侧的宏或块的名称。或者,按向上键和向下箭头键以选择一个操作或块,然后按向左键或向右箭头键折叠,或将其展开。

展开或折叠所有宏操作 (但不是会阻止)

  • 设计选项卡的折叠/展开组中,单击操作展开折叠操作

展开或折叠所有宏操作和块

  • 设计选项卡的折叠/展开组中,单击全部展开折叠所有

提示: 您可以"查看"内折叠的操作通过将指针移到操作上。Access 在工具提示中显示该操作的参数。

文档顶部

复制并粘贴宏操作

如果您需要重复您已添加到宏的操作,可以复制并粘贴现有的操作一样,您将执行的操作的文本段落在 word 的处理器。粘贴操作时,将被插入当前所选操作的正下方。如果选中阻止,在块内部粘贴操作。

提示: 若要快速复制所选的操作,请按住 CTRL 键,然后拖动到所需它们要复制的位置中的宏操作。

与他人共享宏

宏操作复制到剪贴板上时,可将它们粘贴可扩展标记语言 (XML) 到接受文本任何应用程序。这使您可以向同事通过电子邮件发送宏或发布论坛、 博客上或其他网站上的宏。然后,收件人可以复制 XML,并将其粘贴到其 Access 2010 宏生成器。就像您当初重新创建宏。

运行宏

您可以通过使用下列方法之一来运行宏 ︰

  • 双击导航窗格中的宏。

  • 呼叫中使用RunMacroOnError宏操作的宏。

  • 对象是事件属性中输入的宏名称。触发该事件时,将运行该宏。

文档顶部

调试宏

如果您有要运行的宏时出现问题,有几个工具可用于获取源的问题。

将错误处理操作添加到宏

我们建议您添加错误处理每个宏操作,编写时,并将其永久留在宏中。使用此方法时,Access 将发生时显示的错误的说明。错误说明将帮助您了解错误,以便您可以更迅速地更正此问题。

使用以下过程添加到宏错误处理子宏 ︰

  1. 在设计视图中打开该宏。

  2. 在宏的底部,从添加新操作下拉列表中选择子宏的宏

  3. 在 word子宏右侧框中,键入子宏,如ErrorHandler的名称。

  4. 子宏块中显示添加新操作下拉列表,选择消息框宏操作。

  5. 消息框中,键入以下文本 ︰ = [MacroError]。 [说明]

  6. 在宏的底部,从添加新操作下拉列表中选择OnError

  7. 将的转到参数设置为宏名称

  8. 宏名框中,键入您 (在本示例中, ErrorHandler) 的错误处理子宏的名称。

  9. 拖动到该宏的最顶端OnError宏操作。

下图显示了使用OnError操作和名为ErrorHandler子宏的宏。

一个包含错误处理子宏的宏。

OnError宏操作的宏,顶部放置和呼叫ErrorHandler子宏在发生错误。

ErrorHandler子宏仅运行如果它由OnError操作,并显示消息框中的错误描述。

使用单步执行命令

单步是调试模式可用于执行一次一个宏操作的宏。执行每个操作后,出现一个对话框,其中显示有关操作,,因此,出现了任何错误代码信息。但是,因为没有单步执行宏对话框中的错误的说明,我们建议使用上一节中所述的错误处理子宏方法。

若要开始单步 ︰

  1. 在设计视图中打开该宏。

  2. 设计选项卡的工具组中,单击单步执行

  3. 保存并关闭该宏。

运行宏,出现单步执行宏对话框的下一次。对话框显示有关每个操作的以下信息 ︰

  • 宏名

  • 条件 (的 If 块)

  • 操作名称

  • 参数

  • 错误数 (0,则表示没有发生错误的错误数)

您在单步执行的操作,请单击对话框中的三个按钮之一 ︰

  • 若要查看有关在宏中的下一步操作的信息,请按步骤

  • 若要停止任何当前正在运行的宏,请单击停止所有宏。单步执行模式仍将有效的下次运行宏。

  • 若要退出单步执行模式,并继续运行宏,请单击继续

    注释: 

    • 如果您在宏中的最后一个操作后按步骤,单步仍将有效下一次运行宏。

    • 若要运行宏时,请输入单步执行模式,请按 CTRL + 分页符。

    • 若要输入在宏中单步执行模式的特定点,请添加SingleStep宏操作的该点。

    • 单步执行模式不可用在 Web 数据库中。

文档顶部

转换为 VBA 代码的宏

宏提供在 Visual Basic for Applications (VBA) 中可用的命令的子集编程语言。如果您决定您需要比宏可以提供更多的功能,您可以轻松地转换独立宏 VBA 代码的对象,然后进行展开的功能集使用该 VBA 提供。请记住,但是,该 VBA 代码不会在浏览器; 运行在 Access 中打开数据库时,将仅运行向 Web 数据库中添加任何 VBA 代码。

注意: VBA 代码中不能转换嵌入的宏。

若要将宏转换为 VBA 代码 ︰

  1. 在导航窗格中,右键单击该宏的对象,然后单击设计视图。

  2. 设计选项卡的工具组中,单击将宏转换为 Visual Basic

  3. 将宏转换对话框中,指定是否希望错误处理代码和 VBA 模块中,添加的批注,然后单击转换

Access 会确认宏已转换,并打开 Visual Basic 编辑器。双击转换宏项目窗格中查看和编辑的模块。

文档顶部

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×