去除所有线条的阴影

Remove a shadow from all lines

我刚刚继承了一个绘制组织结构图的 Excel 应用程序。每个形状由 Line

连接

但是,我需要去除添加每条线时绘制的阴影。我如何获得 Lines 的集合,以便我可以做类似

的事情
Line.Shadow.Transparency = 1.0

我有点 vba 新手:-)

这应该可以解决问题 - 它遍历所有形状,检查它们是否是一条线,然后移除阴影。

Sub test()

Dim ws As Worksheet
Set ws = ActiveSheet

Dim shapeObj
For Each shapeObj In ActiveSheet.Shapes
    If shapeObj.Type = 9 Then
        Dim objName$
        objName = shapeObj.Name
        ws.Shapes.Range(Array(objName)).Shadow.Visible = msoFalse
    End If
Next shapeObj

End Sub

编辑:原来,根据 OP,形状是分组的,所以他用这个来得到它:

Sub RemoveLineShadows()
For Each Shp In ORG.Shapes
    If Shp.Type = msoGroup Then
        For X = 1 To Shp.GroupItems.Count
            If Shp.GroupItems(X).Type = msoLine Then
                Shp.GroupItems(X).Shadow.Transparency = 1
            End If
        Next X
    End If
Next Shp
End Sub
Sub qqq()
Dim x As Shape
    For Each x In ActiveSheet.Shapes
        x.Shadow.Visible = msoFalse
    Next
End Sub