在Word中创建宏时,可以轻松合并使用消息框。这些通常用于向用户传达信息并获得一些基本输入。您通过使用MsgBox命令来包括消息框。宏的以下部分创建了一个非常简单的消息框:

MsgBox "The macro is done"

您还可以通过在MsgBox调用中包括符号类型代码,将符号添加到消息框中。这些符号已在许多Windows对话框中广泛使用。可以使用以下四种类型的符号:

Type

Enumeration

Symbol

16

vbCritical

White X in a red circle (and “ding”)

32

vbQuestion

Question mark in a circle

48

vbExclamation

Exclamation point in a circle

64

vbInformation

Information symbol (lowercase i in a circle)

您可以在MsgBox语句中使用“类型”列中的数字或“枚举”列中的枚举。作为示例,假设您想包含感叹号符号。这通常包含在对话框中,以通知重要事件何时发生或将要发生。要在您的消息框中包含此符号,您将包括以下任一代码行:

MsgBox "Can't run the macro on the text", 48 MsgBox "Can't run the macro on the text", vbExclamation

到目前为止,MsgBox命令已用作语句,但您也可以将其用作函数。如果这样做,则可以使用它从用户那里获得简单的输入。为了使MsgBox功能更有用,Word允许您在“确定”按钮之外的对话框中显示更多可单击的按钮。这可以通过调整类型代码来完成,该代码用于消息框中显示的符号。以下是您可以在消息框中显示的不同按钮组合:

Type

Enumeration

Button Types

1

vbOKCancel

OK, Cancel

2

vbAbortRetryIgnore

Abort, Retry, Ignore

3

vbYesNoCancel

Yes, No, Cancel

4

vbYesNo

Yes, No

5

vbRetryCancel

Retry, Cancel

要使用按钮,只需将按钮类型的值添加到要用于符号的值即可。您可以使用“类型”列中的值或“枚举”列中的枚举。 VBA不在乎使用哪个。在前面的示例中,您使用了代码48或vbExclamation的枚举来显示感叹号。如果您还希望包括“中止”,“重试”,“忽略”按钮,则只需使用以下代码行:

J = MsgBox "Can't run the macro on the text", 48 + 2 J = MsgBox "Can't run the macro on the text", vbExclamation + vbAbortRetryIgnore

如果选择使用数字值,则实际上可以将这些值加在一起。换句话说,您可以使用“ 50”代替“ 48 + 2”。执行代码行后,J将等于一个值,该值指示单击了哪个按钮。在进行测试以查看J等于什么时,最好使用枚举,但可以使用值。以下是可能的返回值:

Value

Enumeration

Button Clicked

1

vbOK

OK

2

vbCancel

Cancel

3

vbAbort

Abort

4

vbRetry

Retry

5

vbIgnore

Ignore

6

vbYes

Yes

7

vbNo

No

您应该在MsgBox中使用值还是枚举?确实可以归结为个人喜好,但是使用枚举有两个主要优点。首先,当您键入VBA代码时,编辑器会自动提供有关可用枚举的“提示”。其次,枚举在代码中更具描述性,这意味着您可以更轻松地查看它们在MsgBox中的作用。第三,枚举可保护您免受Microsoft将来可能对MsgBox的工作方式进行的任何可能更改。这并不是说微软会做出改变。本技巧中显示的值多年来一直是静态的。但是,如果确实更改了值,则枚举将继续起作用,因为Microsoft只是在幕后更改了枚举的含义。

注意:

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

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

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