在编写宏时,您正在使用一种称为Visual Basic for Applications(VBA)的编程语言。该语言基于BASIC编程语言,具有特定于Word的扩展名。该语言的功能之一是能够在程序中使用子例程。例如,考虑以下用VBA编写的代码:

Sub Macro1()

TestSub End Sub
Sub TestSub()

StatusBar = "In the macro"

End Sub

Macro1宏不执行任何操作,只调用一个子例程(TestSub),该例程又在状态栏上显示一条消息。然后,该子例程将控制权返回给主程序。

您可以根据需要在宏中具有任意多个子例程。每个程序的目的都是执行共同的任务,因此您不必一直重写相同的代码。您还可以将参数传递给子例程。然后,您的子例程可以对这些参数进行操作。

例如,考虑以下宏:

Sub Macro1()

A = 1     PrintIt A End Sub
Sub PrintIt(x)

StatusBar = x End Sub

这是一个简单的宏,它设置一个变量,然后将其通过子例程调用传递给PrintIt。该子例程在状态栏上显示变量的值,然后返回到调用程序。

请注意,该子例程不使用与传递时相同的变量名。这是因为VBA重新分配了x的值(子例程期望接收的值),使其与A的值(程序传递给子例程的值)匹配。在将参数传递给子例程时要记住的重要一点是,程序必须传递与子例程期望数量相同的参数,并且参数必须具有匹配的类型且顺序正确。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11853)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: