Se eu tiver uma lista de nomes de formas, como posso adicioná-los a um grupo usando VBA. A lista de nomes de formas é dinâmica, ou seja, os nomes das formas e o número de formas podem mudar cada vez que executo o código.
Por exemplo, tenho uma lista de nomes de formas "shape1", "shape2", "shape3", "shape4". Eles estão em uma matriz de strings. Percorro a matriz adicionando cada forma em uma matriz de formas, mas não consigo fazer o método .Group funcionar. Eu tentei passar a lista de formas para agrupar como strings, matrizes de formas... mas até agora sem sorte
'Using a static example to keep it simple but this list of shapes can change
strContents = "shape1,shape2,shape3,shape4)"
strGroupMembers = Split(strContents, ",")
ReDim shpArray(0 To UBound(strGroupMembers) - 1)
For intCounter = 0 To UBound(strGroupMembers) - 1
Set shpArray(intCounter) = ActiveWindow.View.Slide.Shapes.Range(strGroupMembers(intCounter))
Next
'This line is causing the error
ActiveWindow.View.Slide.Shapes.Range(shpArray).Group
Tentei passar a lista de formas para o método de grupo como uma string delimitada por vírgula em uma variável e agora estou tentando criar uma matriz de formas e passar esse argumento, mas sempre obterei um erro de objeto necessário.
O
Range
método usa uma matriz de strings. Como você não o declarou, ele se tornou uma série de variantes.Outra maneira:
Agora está funcionando, estou tentando dar um nome ao grupo. Em vez de agrupá-lo imediatamente, atribuí-o a uma variável de objeto e tentei usar o método de grupo, mas continuo recebendo um erro: