Len通常会将所有图形放置在文本框中。他设置了文本框的格式,以使它们不会相互重叠。 (他显示“布局”对话框,并在“位置”选项卡上清除“允许重叠”复选框。)Len希望默认清除此设置,但似乎总是默认情况下允许重叠。他想知道是否有办法完全关闭它。

不幸的是,似乎没有办法完全关闭它-Word仅默认为允许重叠。但是,您可以创建几个可能有用的宏。第一个设置所选文本框的重叠设置:

Sub AllowOverlapFalse()

Selection.ShapeRange.WrapFormat.AllowOverlap = False End Sub

您需要做的就是创建您的文本框,选择它,然后运行宏。您甚至可能希望将其分配给快捷键,以便您可以快速轻松地完成任务。

另一种方法类似于第一个方法,但是它适用于文档中的所有文本框。因此,您可以创建所需的所有文本框,然后运行此宏。

Sub FixTextBoxOverlap()

Dim s As Shape

For Each s In ActiveDocument.Shapes         If s.Type = msoTextBox Then             s.WrapFormat.AllowOverlap = False         End If     Next End Sub

从这些宏可以看出,在VBA世界中,文本框被视为形状。该宏确保在逐步遍历所有定义的形状时,确保它仅影响那些实际上是文本框的形状。

注意:

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

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

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13631)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。