900 likes | 1.11k Views
打造职场核心竞争力. 职业竞争力的巧妙提升 高效办公的秘密武器. 高 级 办 公 软 件. 市场营销系 EMail:xznu001@163.com BBS:202.195.79.80/ bbs. 第 04 讲 Word 宏与自动图文集. 徐州师范大学管理学院 宋庆军 EMail:xznu001@163.com BBS:202.195.79.80/ bbs. Word 宏与自动图文集. 一、 Word 的宏 二、自动图文集 三、综合应用实例. 一、 Word 的宏.
E N D
打造职场核心竞争力 职业竞争力的巧妙提升 高效办公的秘密武器 高 级 办 公 软 件 市场营销系 EMail:xznu001@163.com BBS:202.195.79.80/bbs
第04讲 Word宏与自动图文集 徐州师范大学管理学院 宋庆军 EMail:xznu001@163.com BBS:202.195.79.80/bbs
Word宏与自动图文集 • 一、Word的宏 • 二、自动图文集 • 三、综合应用实例 第04讲 宏与自动图文集
一、Word的宏 • 在你使用Word编辑文档时,如果你希望让Word自动完成某些操作,可以使用Word提供的自动化工具——Word宏。 • 比如,在一段时间内,你可能需要使用Word多次编辑同一篇文章,你可能希望一经启动Word就自动打开该篇文档。而且再次打开该文档时,非常希望Word能够自动将插入点移动到上次关闭该文档时插入点所在的位置。这时,你尽管请Word自动宏来帮忙好了。 第04讲 宏与自动图文集
1.什么是Word宏 • 如果需要在Word中反复进行某项工作,就可以考虑利用宏来自动完成这项工作。 • Word中的宏是一系列组合在一起的Word命令和指令,它们形成了一个命令,以实现任务执行的自动化。 • 你可以创建并执行宏(宏实际上就是若干条自定义的命令VBA),以替代人工进行的一系列费时而单调的重复性Word操作,自动完成所需任务。 第04讲 宏与自动图文集
在默认情况下,Word将宏存储在Normal模板内,这样每个Word文档都可以使用它。如果需在单个文档中使用宏,则可以将宏存储在该文档中。 第04讲 宏与自动图文集
2.Word提供的自动宏 • 在创建宏时,通过为一个宏赋予某个特殊的名称,就可以在执行某项操作(如启动Word或打开一个文档)时自动运行它,该类宏被称为自动宏( Word提供的自动宏及其运行条件见下表1) • 与其他宏一样,自动宏也可以保存于Normal模板、其他模板或文档之中。但是要让自动宏自动运行,则它必须位于活动文档的Normal模板中,或活动文档选用的模板中。 第04讲 宏与自动图文集
AutoExec宏是个例外,它只有存储于Normal模板、通过“模板和加载项”对话框全局加载的模板、或由“Startup”文件夹指定的文件夹中的全局模板中,才可自动运行。AutoExec宏是个例外,它只有存储于Normal模板、通过“模板和加载项”对话框全局加载的模板、或由“Startup”文件夹指定的文件夹中的全局模板中,才可自动运行。 • 说明:在命名冲突的情况下(多个自动宏名相同),Word将运行上下文中最近的自动宏。 第04讲 宏与自动图文集
如果不希望运行自动宏,这时请按住Shift键就可以终止自动宏的运行。如果不希望运行自动宏,这时请按住Shift键就可以终止自动宏的运行。 • 具体方法:单击“文件”→“新建”,然后按住Shift键,单击“确定”按钮,并且在显示新文档之前一直按住Shift键。 • 如果运行一个宏时有可能触发自动宏,可用下列指令终止自动宏的运行: WordBasic.DisableAutoMacros 第04讲 宏与自动图文集
3.创建需要的自动宏 • 在Word提供的五个自动宏中,AutoExec宏会在每次启动Word时被自动执行,所以我们只要赋予该宏打开上次编辑文档的功能,则可实现让Word启动后自动打开最近编辑过的文档了。创建该AutoExec宏的步骤如下: 第04讲 宏与自动图文集
1.单击“工具”→“宏”→“录制新宏”,在“宏名”框中键入宏的名称,在此我们键入“AutoExec”。1.单击“工具”→“宏”→“录制新宏”,在“宏名”框中键入宏的名称,在此我们键入“AutoExec”。 • 在“将宏保存在”框中,单击要用来保存宏的模板或文档,自然我们应选择“所有文档(Normal.dot)”;在“说明”框中,键入对宏的简单说明(如图1)。 第04讲 宏与自动图文集
2.如果不想将宏指定到工具栏、选单或快捷键上,请单击“确定”按钮开始录制宏。2.如果不想将宏指定到工具栏、选单或快捷键上,请单击“确定”按钮开始录制宏。 • 如果要将宏指定到工具栏或选单上,请单击“工具”→“自定义”→“命令”选项卡,再单击“命令”框中正在录制的宏,并将其拖动到所需的工具栏或选单中,单击“更改所选内容”按钮,在“命名”框中输入一个易于记忆的名字,按下回车键,按“关闭”按钮开始录制宏。 第04讲 宏与自动图文集
如果要给宏指定快捷键,请单击“键盘”按钮,然后单击“命令”框中正在录制的宏,在“请按新快捷键”框中键入所需快捷键,再单击“指定”按钮,按“关闭”按钮开始录制宏。 第04讲 宏与自动图文集
当然对于自动宏来说,加到工具栏或选单中,或者指定快捷键并不重要,但对于一般的宏而言却是提供简便运行方式的好方法。当然对于自动宏来说,加到工具栏或选单中,或者指定快捷键并不重要,但对于一般的宏而言却是提供简便运行方式的好方法。 第04讲 宏与自动图文集
3.单击以打开“文件”下拉选单列表,然后在选单中列出的最近使用过的文件列表中,单击第一个文件(如图2)。3.单击以打开“文件”下拉选单列表,然后在选单中列出的最近使用过的文件列表中,单击第一个文件(如图2)。 • 如果“文件”选单中未列出最近使用过的文件,请单击“工具”→“选项”→“常规”→“列出最近所用文件”复选框,然后在“个”框中输入需要在“文件”选单中显示最近用过的文档的个数,单击“确定”按钮。 第04讲 宏与自动图文集
4.指向“工具”→“宏”,单击“停止录制”命令,或者单击录制宏工具栏中的“停止录制”按钮。4.指向“工具”→“宏”,单击“停止录制”命令,或者单击录制宏工具栏中的“停止录制”按钮。 第04讲 宏与自动图文集
这之后,只要启动Word,则系统会自动打开上次退出Word时最后编辑的文档,但插入点并没有移到上次关闭该文档时插入点所在的位置。这之后,只要启动Word,则系统会自动打开上次退出Word时最后编辑的文档,但插入点并没有移到上次关闭该文档时插入点所在的位置。 第04讲 宏与自动图文集
我们应再创建一个AutoOpen宏,并赋予该宏插入点移到上一编辑处的功能。我们应再创建一个AutoOpen宏,并赋予该宏插入点移到上一编辑处的功能。 • 宏的录制过程是: • 重复上述1、2步骤,不过需要把其中的“AutoExec”改为“AutoOpen”,然后按下Shfit+F5组合键,该组合键的作用就是把插入点移到上一编辑位。最后,单击录制宏工具栏中的“停止录制”按钮,以结束宏录制工作。 第04讲 宏与自动图文集
4.编辑宏 • 实际上,如果Word文档中已存在AutoExec或AutoOpen宏,在不想以新录制的宏替换原有宏的情况下,我们只需对原有的这两个宏进行编辑,在宏中增加相应的指令即可。 • 编辑AutoExec宏的方法是:单击“工具”→“宏”,在“宏的位置”下拉列表框中,选择“所有的活动模板和文档”;在“宏名”列表框中,单击“AutoExec”宏,然后单击“编辑”按钮,打开“MicrosoftVisualBasic”编辑窗口。 第04讲 宏与自动图文集
在“代码窗口”,于Autonew宏中,加入如下指令:在“代码窗口”,于Autonew宏中,加入如下指令: • RecentFiles(1).Open • 同理,也可在AutoOpen宏中,加上如下一行指令: • Application.GoBack • 单击“文件”→“保存Normal”保存对该宏的修改。 第04讲 宏与自动图文集
5.删除宏 • 单击“工具”→“宏”,在“宏的位置”下拉列表框中,选择要删除的宏所在的位置,在“宏名”列表框中,单击要删除的宏,然后单击“删除”按钮。系统弹出一个对话框,询问“是否删除宏×××?”,单击“是”按钮,则选中的宏被删除。 第04讲 宏与自动图文集
例一:利用宏自动删除回车符和空行 • 对于网上的一些资料,直接通过复制、粘贴到Word文档中,这时会发现有很多空格和人工分行符,手工删除十分麻烦。那么可以通过在Word中录制宏,通过宏操作,删除所有空格和人工分行符,并进行重新排版。 第04讲 宏与自动图文集
1)录制你自己的宏 • (1)运行Word,并新建一个文件。打开“工具”菜单栏,选择“宏”,在二级菜单中选择“录制新宏”。 • (2)出现“录制宏”对话框,随便为宏取个名按“确定”即可,这时会出现一个悬浮的“停止录”工具,宏录制就已经开始了。 • (3)打开“编辑”菜单栏,选择“替换”,出现“查找和替换”对话框。 第04讲 宏与自动图文集
(4)用鼠标在“查找内容”栏内点一下,再点击“高级”,再按“特殊字符”,选择两次“手动换行符”,在“替换为”栏内选“特殊字符”的“段落标志”,再选全部替换,点击“确定”。(4)用鼠标在“查找内容”栏内点一下,再点击“高级”,再按“特殊字符”,选择两次“手动换行符”,在“替换为”栏内选“特殊字符”的“段落标志”,再选全部替换,点击“确定”。 • 在“查找内容”栏内,选“高级”,再按“特殊字符”,选择一次“手动换行符”,用鼠标在“替换为”栏内点一下。删除里面的全部内容,什么都不输入,再点“全部替换”,点击“确定”。(先保留段落标志,再将段内的人工分行符清除) 第04讲 宏与自动图文集
(5)紧接着,用鼠标在“查找内容”栏内点一下,输入一个空格。用鼠标在“替换为”栏中点一下,删除里面的全部内容,什么都不输入。再点击“全部替换”,点击“确定”。(删除所有的空格)(5)紧接着,用鼠标在“查找内容”栏内点一下,输入一个空格。用鼠标在“替换为”栏中点一下,删除里面的全部内容,什么都不输入。再点击“全部替换”,点击“确定”。(删除所有的空格) 第04讲 宏与自动图文集
(6)关闭“替换”对话框,在“编辑”菜单栏中选“全选”,再在“格式”中选“段落”,打开“段落”对话框,在“缩进和间距”的“特殊格式”选“首行缩进”,“度量值”为两个字符。在字体中选“宋体”、字号中选“小四号字”。这一步骤是设置字体、字号和进行排版。(6)关闭“替换”对话框,在“编辑”菜单栏中选“全选”,再在“格式”中选“段落”,打开“段落”对话框,在“缩进和间距”的“特殊格式”选“首行缩进”,“度量值”为两个字符。在字体中选“宋体”、字号中选“小四号字”。这一步骤是设置字体、字号和进行排版。 • (7)在悬浮的“停止录”工具条上按“停止”钮,到此宏录制的工作结束。 第04讲 宏与自动图文集
2.制作自定义快捷按钮 • (1)打开“工具”菜单栏,选择“自定义”。出现“自定义”对话框,点击“命令”选项。在“类别”栏内找到“宏”,选中它,然后再选中“命令”栏中刚刚录制的宏。 • (2)按住鼠标左键,将它拖放到工具栏上可以放置的位置,松开左键。这时在工具栏上就增加了这一刚刚录制的宏按钮。 第04讲 宏与自动图文集
(3)不要关闭“自定义”对话框,在“更改所选内容”上选“更改按钮图标”,从出现的图标中选中一个自己喜欢的图标。再在“更改所选内容”选“默认样式”,关闭“自定义”对话框,这样就形成一个和Word工具栏其他快捷按钮一样的自定义按钮。以后只要打开Word就能处理文本,把网上复制的内容粘贴到Word上,然后按下自定义的宏按钮,全部搞定。(3)不要关闭“自定义”对话框,在“更改所选内容”上选“更改按钮图标”,从出现的图标中选中一个自己喜欢的图标。再在“更改所选内容”选“默认样式”,关闭“自定义”对话框,这样就形成一个和Word工具栏其他快捷按钮一样的自定义按钮。以后只要打开Word就能处理文本,把网上复制的内容粘贴到Word上,然后按下自定义的宏按钮,全部搞定。 第04讲 宏与自动图文集
例二:编写Word宏轻松将全角数字转换为半角 • 如果我们需要把Word文档中的全角数字全部改为半角数字,手头又没有合适的转换软件,应该怎么做呢? • 除了用第01讲中介绍的方法外,也可以编制一个“宏”来自动处理。 • 1.执行“工具”→“宏”→“录制新宏...”,在“宏名”框中输入“数字全角转半角”,确定,将出现一个“录制宏”工具栏,关闭。 第04讲 宏与自动图文集
2.执行“工具”→“宏”→“宏...”,选择“数字全角转半角”,单击“编辑”按钮,打开vba编辑窗口,录入代码结果如下:2.执行“工具”→“宏”→“宏...”,选择“数字全角转半角”,单击“编辑”按钮,打开vba编辑窗口,录入代码结果如下: Sub 数字全角转半角() '使用前需先选中要替换的区域 Dim qjsz, bjsz As String, i As Integer '定义qjsz(全角数字)、bjsz(半角数字)为字符串型,i为整数型 qjsz = "0123456789" 第04讲 宏与自动图文集
bjsz = "0123456789" For i = 1 To 10 '循环10次 With Selection.Find .Text = Mid(qjsz, i, 1) 'mid函数:返回文本字符串中从指定位置开始的特定数目的字符,每次取一个数字 .Replacement.Text = Mid(bjsz, i, 1) '将用于替换的相应位置的半角数字 .Format = False '保留替换前的字符格式 第04讲 宏与自动图文集
.Execute Replace:=wdReplaceAll '用半角数字替换全角数字 End With Next i End Sub • 3.关闭vba编辑窗口,选中要改变数字格式的文字区域,执行“工具”→“宏”→“宏...”→“数字全角转半角”。 第04讲 宏与自动图文集
例三:中英文标点互换 • 目标:将文档中的英文标点一次性转换为对应的中文标点,或者将文档中的中文标点一次性转换为对应的英文标点。 • 代码: • Sub ToggleInterpunction() • '中英文标点互换 • Dim ChineseInterpunction() As Variant, EnglishInterpunction() As Variant • Dim myArray1() As Variant, myArray2() As Variant, strFind As String, strRep As String • Dim msgResult As VbMsgBoxResult, N As Byte • '定义一个中文标点的数组对象 第04讲 宏与自动图文集
ChineseInterpunction = Array("。", ",", ";", ":", "?", "!", "……", "-", "~", "(", ")", "《", "》") • '定义一个英文标点的数组对象 • EnglishInterpunction = Array(".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">") • ‘提示用户交互的MSGBOX对话框 • msgResult = MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!", _ • vbYesNoCancel) • Select Case msgResult • Case vbCancel • Exit Sub ‘如果用户选择了“取消”按钮,则退出程序运行 • Case vbYes ‘如果用户选择了“是”,则将中文标点转换为英文标点 第04讲 宏与自动图文集
myArray1 = ChineseInterpunction • myArray2 = EnglishInterpunction • strFind = "“(*)”" • strRep = """\1""“ • Case vbNo ‘如果用户选择了“否”,则将英文标点转换为中文标点 • myArray1 = EnglishInterpunction • myArray2 = ChineseInterpunction • strFind = """(*)""" • strRep = "“\1”" • End Select • Application.ScreenUpdating = False '关闭屏幕更新 • For N = 0 To UBound(ChineseInterpunction) '从数组的下标到上标间作一个循环 • With ActiveDocument.Content.Find • .ClearFormatting '不限定查找格式 • .MatchWildcards = False '不使用通配符 • '查找相应的英文标点,替换为对应的中文标点 • .Execute findtext:=myArray1(N), 第04讲 宏与自动图文集
replacewith:=myArray2(N), Replace:=wdReplaceAll • End With • Next • With ActiveDocument.Content.Find • .ClearFormatting '不限定查找格式 • .MatchWildcards = True '使用通配符 • .Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll • End With • Application.ScreenUpdating = True '恢复屏幕更新 • End Sub • 例题文件:中英标点互换.doc 第04讲 宏与自动图文集
例四:让Word开口说话 • 目标: • 当每次启动Word时将自动弹出一窗口,随机地显示一条笑话。 • “Word讲笑话”的面板中一共有三个按钮,点击“下一条”可继续阅读其它笑话,点击“关于”可显示作者和帮助信息,点击“关闭”将关闭窗口。面板中还有一个复选框,可以让用户自由决定下次启动Word时是否显示笑话。 第04讲 宏与自动图文集
1.建立窗体 • 窗体是窗口和对话框的统称,它是Windows应用程序的用户界面的基础部分。窗体是控件的容器,用来放置文本框、命令按钮、复选框等各种控件。 • (1)启动Word,单击菜单“工具→宏→Visual Basic编辑器”,也可以按快捷键[Alt+F11],切换到Visual Basic编辑器窗口。 第04讲 宏与自动图文集
(2)单击菜单“插入→用户窗体”,系统建立一个默认样式的用户窗体。对窗体可拖动其右、下边的小方框来可改变大小,本例中根据功能需要将窗体拖为扁长形状。 • (3)单击菜单“视图→属性窗口”,在属性窗口中修改窗体的几个主要属性值。在属性列表中选定“名称”属性,输入“Xiaohua”,然后选定“Caption”属性,输入“开心一刻”。现在,我们便能看到一个标题为“开心一刻”的窗体了。 第04讲 宏与自动图文集
提示:窗体中的点状物称为“网格”,它能在建立控件时起位置参考和智能对齐的作用,单击菜单“工具→选项”,选择“通用”选项卡,可修改网格的选项和网格块的大小,建议使用较小的网格设置,这样能使控件更靠近窗体边缘的位置,以达到美观的效果。提示:窗体中的点状物称为“网格”,它能在建立控件时起位置参考和智能对齐的作用,单击菜单“工具→选项”,选择“通用”选项卡,可修改网格的选项和网格块的大小,建议使用较小的网格设置,这样能使控件更靠近窗体边缘的位置,以达到美观的效果。 第04讲 宏与自动图文集
1.建立控件 • 建立了窗体就相当于打好了地基,下一步的工作就是建立控件。常用控件包括文本框、命令按钮、标签、复选框、滚动条等。 • 建立控件的方法很简单,单击菜单“视图→工具箱”调出工具箱,在“工具箱”中选择控件类型,然后在窗体上单击或拖动即可。 第04讲 宏与自动图文集
1、创建文本框:在“工具箱”中选择“AB|”样式的按钮,在窗体上拖动建立一个文本框,并用鼠标调整其位置、大小,若需精确调整,也可在属性窗口中调整“Height”、“Width”等属性值。很关键的一点是要将“MultiLine”属性值设为“True”,它的作用是使文本框能显示多行文本。 • 2、创建命令按钮:在“工具箱”中选择命令按钮(鼠标悬停会显示“命令按钮”字样),在窗体上的文本框右边拖动建立一个命令按钮,调整好大小并修改其“Caption”属性值为“下一条”,接着依次建立“朗读”“关闭”、“关于”按钮。 第04讲 宏与自动图文集
3、创建复选框:在“工具箱”中选择复选框按钮,在窗体上的文本框下方单击鼠标左键,便创建了一个复选框,修改其“Caption”属性值为“下次启动时不显示”。 • 4、创建标签:可在窗体的空余部分以“标签”的形式显示作者等信息。 • 提示:为了使窗体、控件看起来更美观、协调,可以使用“格式”菜单下的“统一尺寸”命令项使按钮大小相同,使用“对齐”、“水平间距”、“垂直间距”等命令项,使各控件均匀、合理的布置在窗体中。 第04讲 宏与自动图文集
3.编写代码 • 上面建立的窗体和控件还只是“徒有其表”,因为还没有为各个控件赋予具体的功能,接下来就需要编写VBA代码 ,通过代码告诉各控件在什么情况下该执行什么任务。 • 编写代码的方法是:单击菜单“视图→代码”或按F7键,即切换到代码窗口,可在代码窗口的声明部分(顶端空白区域)开始录入代码。 第04讲 宏与自动图文集
Sub 显示笑话() • Dim line$(500) '定义笑话文件的最大行数 • Open “d:\xiaohua.d2" For Input As #1 '打开笑话文件 • Do While Not EOF(1) • N = N + 1 • Input #1, line$(N) '读入笑话内容到变量 • Loop • Close #1 • Randomize • num = Int(N * Rnd + 1) '产生随机数 • Do While line$(num) = "" '识别并忽略空行 • num = num + 1 • If num = N + 1 Then num = 1 • Loop • TextBox1.Text = " " & line$(num) '显示笑话内容 • End Sub 第04讲 宏与自动图文集