1

您好,我想更改名为“icon1”的特定形状的颜色,该形状位于名为“Box1”的组中,但此“Box1”位于名为“BigBox1”的组中(因此 icon1 在子组中)。“Box1”组(其他形状:“icon2”、“icon3”/“text1”、“text2”)中还有其他形状和文本框,我不想更改颜色。我试图更改“icon1”的颜色,但 VBA 告诉我找不到具有此名称的项目。

Sub changeshapecolorinsubgroup()
ActiveDocument.Shapes("BigBox1").GroupItems("Box1").GroupItems("icon1").Fill.ForeColor.RGB = RGB(255, 200, 128)
End Sub

我不知道如何解决我的问题,你能帮我吗?

4

1 回答 1

0

当你对所有这些形状进行分组时,它就变成了一个形状范围。我假设这BigBox1是具有上述所有项目的最终 shaperange 的名称。如果您不确定大组的名称是什么,请选择它并在 vba 编辑器中输入

?Selection.ShapeRange.Name

最后你可以用这个实现你想要的

ActiveDocument.Shapes("BigBox1").GroupItems("icon1").Fill.ForeColor.RGB = RGB(255, 200, 128)
于 2021-05-13T16:39:11.460 回答