Word VBA:如何删除形状(水平线)?
尝试查找Word文档中的所有水平行并将其删除。有点麻烦。。。感谢您的帮助。代码如下Word VBA:如何删除形状(水平线)?,vba,ms-word,line,shapes,Vba,Ms Word,Line,Shapes,尝试查找Word文档中的所有水平行并将其删除。有点麻烦。。。感谢您的帮助。代码如下 Sub Replace() Dim oShp As Shape Dim i As Long With ActiveDocument For i = .InlineShapes.Count To 1 Step -1 With .InlineShapes(i) oShp.Select Selection.Delete End
Sub Replace()
Dim oShp As Shape
Dim i As Long
With ActiveDocument
For i = .InlineShapes.Count To 1 Step -1
With .InlineShapes(i)
oShp.Select
Selection.Delete
End With
Next
End With
End Sub
您可以迭代inlineShapes集合,只删除类型为水平线的形状
Public Sub DeleteHorizontalLines()
Dim docShape As InlineShape
For Each docShape In ActiveDocument.InlineShapes
If docShape.Type = wdInlineShapeHorizontalLine Then
docShape.Delete
End If
Next docShape
End Sub
让我知道它是否有效
编辑:要用文本替换形状,可以在删除之前添加文本
添加此行:
docShape.Range.InsertAfter "Horizontal line"
docShape.Delete
在这一行之前:
docShape.Range.InsertAfter "Horizontal line"
docShape.Delete
您可以迭代inlineShapes集合,只删除类型为水平线的形状
Public Sub DeleteHorizontalLines()
Dim docShape As InlineShape
For Each docShape In ActiveDocument.InlineShapes
If docShape.Type = wdInlineShapeHorizontalLine Then
docShape.Delete
End If
Next docShape
End Sub
让我知道它是否有效
编辑:要用文本替换形状,可以在删除之前添加文本
添加此行:
docShape.Range.InsertAfter "Horizontal line"
docShape.Delete
在这一行之前:
docShape.Range.InsertAfter "Horizontal line"
docShape.Delete
这确实奏效了。非常感谢。我们用字符串“水平线”替换形状,而不是完全删除形状,怎么样?我看不到.docshapeThat下的任何替换函数,请您进行编辑。这一切都很有效。非常感谢。我们用字符串“水平线”替换形状,而不是完全删除形状,怎么样?我看不到.docshapeThat下的任何替换函数,请您进行编辑。工作完美无瑕