首页 > 解决方案 > 自动使文本框(形状)适合 Word 文档中的文本

问题描述

为了给出我的问题的上下文,我必须使用带有文本框的文档,这些文本框几乎一直隐藏整个句子,所以我必须手动调整文本框的大小以使文本可见。问题是在某些文档上有超过 700 个文本框。后来我发现我可以做到这一点(调整形状以适应 EN 中的文本):

在此处输入图像描述

所以我想知道是否有一种方法可以选择所有文本框并使用 VBA 自动调整它们的大小。谢谢 !

编辑

所以我试图开始我的代码:

Dim eShape As Word.shape
Dim i As Long
For i = ActiveDocument.Shapes.Count To 1 Step -1
Set eShape = ActiveDocument.Shapes(i)

然后我通过检查对象类型来开始条件,在这种情况下是 TextBox

If eShape.Type = msoTextBox Then

但对于其余部分,我没有找到调整元素大小的方法。

标签: vbams-word

解决方案


向萨塔纳斯致敬,

从几个站点周围的各种代码中组装而成:

Sub AllTextBoxesAutoSize()
Dim MyShape As Shape
For Each MyShape In ActiveDocument.Shapes
    If MyShape.Type = msoTextBox Then
        MyShape.TextFrame.AutoSize = True
    End If
Next
MsgBox ("All text boxes autosized!")
End Sub

我添加了 MsgBox,因为否则任何事情都不会发生 :-)

好勇气!

史蒂夫

@TimothyRylatt 如果您不想提供帮助,请滚动浏览。


推荐阅读