第一范文网 - 专业文章范例文档资料分享平台

Word - VBA - 学习交流资料(全)

来源:用户分享 时间:2025/8/26 1:26:26 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

三、自动运行的宏

通过为一个宏赋予某个特殊的名称,就可在执行某项操作(例如启动 Word 或打开文档)时自动运行宏。Word 将下列名称识别为自动宏,或称“auto”宏。

宏名 AutoExec AutoNew AutoOpen AutoClose

运行条件

启动 Word 或加载全局模板时 每次新建文档时 每次打开已有文档时 每次关闭文档时

AutoExit 退出 Word 或卸载全局模板时

当以下条件之一为真时,将识别代码模块中的自动宏。

?

模块在自动宏(如 AutoExec)之后命名,并且包含一个名为“Main”的

过程。

?

任何模块中的过程在自动宏之后命名。

与其他宏一样,自动宏也可以保存于 Normal 模板、其他模板或文档中。要让自动宏运行,它必须位于活动文档的 Normal 模板中,或活动文档选用的模板中。

唯一例外的是 AutoExec 宏,它只有存储于以下位置时才可自动运行:Normal 模板、通过“模板和加载项”对话框全局加载的模板、或由“Startup”文件夹指定的文件夹中的全局模板。

在命名冲突的情况下(多个自动宏名相同),Word 将运行上下文中最近的自动宏。例如,如果同时在文档及其附加的模板中创建了 AutoClose 宏,则仅执行文档中的自动宏。如果在 Normal 模板中创建了 AutoNew 宏,只有当文档或其附加模板中没有名为 AutoNew 的宏时,该自动宏才能运行。(笔者注:简称\就近原则\

注释 按住 Shift 可以终止自动宏的运行。例如,基于包含 AutoNew 宏的模板新建文档时,按住 Shift 可终止 AutoNew 宏的运行。方法是:按住 Shift,单击(“文件”菜单)“新建”对话框中的“确定”按钮,并在显示新

文档前持续按住 Shift。如果运行一个宏时有可能触发自动宏,(这种情况,我没遇过!)可用下列指令终止自动宏的运行:

WordBasic.DisableAutoMacros

四、修改 Word 命令

大多数 Word 命令都可通过转换为宏的方式对其进行修改。例如,可修改“文件”菜单上的“打开”命令,使其不再显示 Word 文档文件列表(扩展名为 .doc 的文件),而显示当前文件夹中的所有文件。

若要在“宏”对话框中显示内置 Word 命令列表,可在“宏的位置”框中选定“Word 命令”。显示的命令列表中包含所有的菜单命令、工具栏命令或快捷键命令。菜单命令名称以相关的菜单名称开头。例如,“文件”菜单中的“保存”命令显示为“FileSave”。

方法是工具/宏/宏

通过将一个宏命名为与 Word 命令相同的名称,就可用宏替代 Word 命令。例如,如果创建一个名为“FileSave”的宏,当选择“文件”菜单上的“保存”命令、单击“保存”工具栏按钮,或按“保存文件”快捷键时,Word 将运行该宏。

本示例介绍了修改 FileSave 命令的步骤。

1.在“工具”菜单上,指向“宏”,然后单击“宏”。 2.在“宏的位置”框中,选择“Word 命令”。 3.在“宏名”框中,选择“FileSave”。

4.在“宏的位置”框中选择一个模板或文档以保存该宏。例如,选择 Normal.dot(全局模板)可生成一个共用宏(即修改所有文档的“FileSave”命令)。

5.单击“创建”按钮。 FileSave 宏显示如下: Sub FileSave() '

' FileSave Macro

' Saves the active document or template '

ActiveDocument.Save End Sub

可添加指令或删除现有的 ActiveDocument.Save 指令。之后在运行“FileSave”命令时,新的 FileSave 宏将取代 word 命令。若要恢复“FileSave”原有的功能,需重新命名新的 FileSave 宏或将之删除。

说明: 也可以创建与 Word 命令同名的代码模块(例如 FileSave)并包含名为 Main 的子程序,以此替换 Word 命令。

五、将文本插入文档

使用 InsertAfter 或 InsertBefore 方法在 Selection 或 Range 对象之前或之后插入文字。下列示例在活动文档的末尾插入文字。

Sub InsertTextAtEndOfDocument()

ActiveDocument.Content.InsertAfter Text:=\

End Sub

下列示例在所选内容之前插入文字。 Sub AddTextBeforeSelection()

Selection.InsertBefore Text:=\End Sub

Range 对象或 Selection 对象在使用了 InsertBefore 或 InsertAfter 方法之后,会扩展并包含新的文本。使用 Collapse 方法可以将 Selection 或 Range 折叠到开始或结束位置。

六、选定文档中的文本

可使用 Select 方法选定文档中的对象。Select 方法可用于多种对象,例如 Bookmark、Field、Range 和 Table 对象。下列示例选定活动文档中的第一个表格。

Sub SelectTable()

ActiveDocument.Tables(1).Select End Sub

下列示例选定活动文档中的第一个域。 Sub SelectField()

ActiveDocument.Fields(1).Select End Sub

下列示例选定活动文档中的前四个段落。Range 方法用于创建一个引用前四个段落的 Range 对象,然后将 Select 方法应用于 Range 对象。

Sub SelectRange()

Dim rngParagraphs As Range

Set rngParagraphs = ActiveDocument.Range( _

Start:=ActiveDocument.Paragraphs(1).Range.Start, _ End:=ActiveDocument.Paragraphs(4).Range.End)

搜索更多关于: Word - VBA - 学习交流资料(全) 的文档
Word - VBA - 学习交流资料(全).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4xvnc80boy28mww144t0_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top