我在VBA上使用Word 2010.
我有一些代码可以为一个正常工作的inlines形状添加边框,但我需要能够删除边框,这似乎不起作用。我搜索了这个网站,找不到任何与此相近的东西:
Mimic word borders and shading option "apply to:" (text) with vba on an inline shape
代码如下:
Sub TestAddBorders()
Dim rngShape As InlineShape
For Each rngShape In ActiveDocument.InlineShapes
With rngShape.Range.Borders
.OutsideLineStyle = wdLineStyleSingle
.OutsideColorIndex = wdPink
.OutsideLineWidth = wdLineWidth300pt
End With
Next rngShape
End Sub
Sub TestRemoveBorders()
Dim rngShape As InlineShape
For Each rngShape In ActiveDocument.InlineShapes
With rngShape.Range.Borders
.OutsideLineStyle = wdLineStyleNone
End With
Next rngShape
End Sub
我总是留下一张周围有灰色边框的图片(inlineshape)。在图片工具上使用“图片边框>无轮廓”>格式选项卡将其删除,但我可以“找到任何方法在VBA中执行此操作。 wdLineStyleNone似乎不起作用,我看不到color =“none”或linewidth =“none”的选项
谢谢。
答案 0 :(得分:1)
来自MSDN:
要从对象中删除所有边框,请将Enable属性设置为False。
http://msdn.microsoft.com/en-us/library/office/ff196058.aspx
这将在您应用边框时删除边框:
Sub TestRemoveBorders()
Dim rngShape As InlineShape
For Each rngShape In ActiveDocument.InlineShapes
With rngShape.Range.Borders
.Enable = False
End With
Next rngShape
End Sub
上述方法会删除边框,但不会删除行。要删除行,请尝试以下操作:
With rngShape.Line
.Visible = msoFalse
End With
答案 1 :(得分:0)
大卫的答案是正确的,但我想为以后偶然发现此问题的任何人补充。
我不希望使用Borders
方法,因为我看到大多数其他人列出的方法都会在InlineShape
上添加边框,并且由于David在这里的回答,我知道您可以只使用{{ 1}}个成员,就像您可以使用普通Line
一样!
我知道,对于您自己也没有设置边界的人来说,这可能无法完全回答问题,但就我个人而言,这很有帮助。考虑到这一点,这里是添加和删除形状边界的方法的修订版。
Shape