什么是Word宏(Macro)

分享成果,随喜正能量】忘足,履之适也;忘要,带之适也;知忘是非,心之适也。有些事,没有必要反复咀嚼,善于遗忘、坦然面对发生的一切。人生的快乐之道,就是在自己力所不及的的时候,就不要去忧虑。。

《VBA之Word应用》(10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容为第一章部分:什么是Word宏(Macro)

 

第一章 初步认识Word之VBA

大家好,在这套教程中,我们要学习如何在Word中应用VBA。第一章中,我们先来认识一下Word中的VBA。知识点有:Word中的宏及应用界面;Word中的对象、属性、方法的初步了解。

 

第一节 什么是Word宏(Macro)

一般来讲,宏(Macro)是一个通用模糊术语,它指的是一组能自动执行任务的编程指令。对于Word而言,Word宏是使用VBA编程语言自动执行Word中任务的指令。VBA代码就是完成这种指令操作的代码。

1 如何在Word中写入VBA代码

在上面的引言部分我讲了“宏是一组自动执行任务的编程指令”。Word 宏就是使用VBA编程语言自动执行Word中任务的指令。那么如何在Word中利用VBA呢?

1)打开 VBA 编辑器,可以用ALT + F11 或者点击菜单:开发工具 > Visual Basic

 

2)转到:插入 > 模块,以创建代码模块

 

或者:

 

插入模块后的界面如下:

 

3)在代码的窗口录入下面代码:

Sub mynz()

MsgBox "您现在学习的是《VBA之Word应用》!"

End Sub

代码截图:

 

4) 保存上述代码。

5)这时我们就创建了一个宏,在VBE窗口,按下"F5"运行宏,如下面截图:

 

2 查看及运行代码

1)在文档界面点击工具“宏”:

 

2)这时会弹出下面界面:

 

在上面的界面中选择“mynz”,在右侧的代码中可以选择“运行”或者“编辑”。这个时候我们就可以运行刚才选择的宏,或者编辑这个宏了。

3 实例:Word中利用代码打开文件

在上面的讲解中,大家已经对WORD中VBA的形式有所了解,下面我将就一个简单的实例再次给大家展现一下VBA的简单应用,这个例子就是打开一个文件,并写入一些文字。我们先看下面的代码:

Sub mynzA()

Dim myDoc As Document

Set myDoc = Documents.Open(ActiveDocument.Path & "/示例01.docx")

Selection.TypeText "VBA之Word应用"

Selection.TypeParagraph

myDoc.Save

myDoc.Close

End Sub

代码截图:

 

代码的讲解:

1)上述代码中,我们首先命名一个变量myDoc。

2)Documents.Open(ActiveDocument.Path & "/示例01.docx"), 打开一个名称为“示例01.docx”的文件,

3)Selection.TypeText "VBA之Word应用" , 在文件中写入"VBA之Word应用"文字。

4)myDoc.Save 保存文件

5)myDoc.Close 关闭文件

代码的执行效果:

1)点击“宏”,弹出的窗口中选择“mynzA”,点击“运行”。

 

2)我们打开“示例01.docx”文件,发现"VBA之Word应用"文字已经写入了文件,效果如下截图:

 

以上我们展示了WORD中VBA的简单应用,当然现在还不要求大家对代码理解透彻,只是要求对代码的结构有个大概的了解。同时再次提醒学员,要在《VBA之Excel应用》学完后再学习这套教程。

  • 如果此时大家已经学完了《VBA之Excel应用》教程,或许会问到这样一个问题:这里的代码中为什么会用ActiveDocument.Path,而不是ThisDocument.Path呢?

其实在WORD VBA中ActiveDocument是经常被使用的,Activedocument是从属于Application的一个对象,也就是Application的子对象,它代表的意思就是当前文档。可以使用Application.Activedocument来调用当前文档对象。返回一个 Document 对象,该对象代表活动文档。 如果没有打开的文档,就会导致出错。这一点要大家注意。

今日内容回向:

1 Word中如何插入VBA代码?VBA代码如何运行?

2 如何利用VBA打开一个文件?

3 在 Word VBA中如何表示当前文档?

 

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:

 

分享成果,随喜正能量】 一个社会,不同意见是正常的,不要急于去反对,或者扣帽子,甚至去打压与自己不同见解的人,对于不同意见最好的处理方式,就是辩论,只有辩论,才会出真知。。