自动使文本框(形状)适合 Word 文档中的文本
Auto fit a textbox(shape) to a text in a Word document
为了给出我的问题的上下文,我必须使用带有文本框的文档,这些文本框几乎总是隐藏整个句子,所以我必须手动调整文本框的大小,以便文本显示可见的。问题是在某些文档上有超过 700 个文本框。后来我发现我可以做到这一点(调整形状以适应 EN 中的文本):
所以我想知道是否有办法 select 所有文本框并自动调整它们的大小 select 使用此选项 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
但其余的我没有找到调整元素大小的方法。
向撒旦致敬,
根据在多个站点发现的各种代码汇编而成:
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 如果您不想帮忙,请滚动浏览。
为了给出我的问题的上下文,我必须使用带有文本框的文档,这些文本框几乎总是隐藏整个句子,所以我必须手动调整文本框的大小,以便文本显示可见的。问题是在某些文档上有超过 700 个文本框。后来我发现我可以做到这一点(调整形状以适应 EN 中的文本):
所以我想知道是否有办法 select 所有文本框并自动调整它们的大小 select 使用此选项 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
但其余的我没有找到调整元素大小的方法。
向撒旦致敬,
根据在多个站点发现的各种代码汇编而成:
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 如果您不想帮忙,请滚动浏览。