用于 Word 的 VBA,将图像裁剪为圆形

时间:2021-01-18 18:16:59

标签: vba image ms-word

我想将我的 Word 文档中的所有图像裁剪为圆形。 我目前的 VBA 没有做任何事情。我不太确定如何做到这一点。我找到了一些 VBA 示例,但不适用于 Word(PowerPoint) 我现在的 VBA 是这样的:

在深入研究之后,我的问题似乎是图像是内联形状? 还有什么可能的解决方案吗?

Sub Circles()

Dim allShapes As ShapeRange 
Dim myShape As Shape

Set allShapes = Selection.ShapeRange

For Each myShape In allShapes
    
  
With myShape
    .AutoShapeType = msoShapeOval
    .Height = InchesToPoints(0.18)
    .Width = InchesToPoints(0.18)
    End With
    
Next myShape
End Sub

1 个答案:

答案 0 :(得分:0)

将图片裁剪成圆形实际上是用图片填充形状背景。

这是这样做的代码:

ActiveDocument.Shapes.AddShape msoShapeOval, 100, 100, 100, 100
ActiveDocument.Shapes(1).Fill.UserPicture ("Y:\Pictures\Mk45 Gun Proj_Blast.jpg")

结果:

enter image description here