在编写宏的很多时候,需要确定用户是否做出选择。您可以通过多种方式在宏中执行此操作。以下代码说明了一种在VBA中完成此操作的可能方法。如果当前存在选择,它将标志bInSelection的值设置为True。否则,bInSelection设置为False。

Dim bInSelection As Boolean

bInSelection = False If Selection.Type=wdSelectionIP Then     bInselection=True End If

您可能想知道是否可以使用一种检查所选内容的长度是否大于零的方法,如这种方法:

Dim bInSelection As Boolean

bInSelection = False If Len(Selection) > 0 Then     bInselection=True End If

这种方法行不通。原因是因为没有选择(插入点折叠并且只是闪烁)时,Word仍返回选择长度1。这有点麻烦,因为没有逻辑意义。因此,您需要像上面的第一个示例一样检查Selection对象的Type属性。如果要进一步缩短,可以使用以下方法:

Dim bInSelection As Boolean

bInselection=(Selection.Type=wdSelectionIP)

注意:

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

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

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