o que é um nome de forma apropriado como a minha rotina não diz?

0

Eu tenho a seguinte rotina que encontrei na net aqui: link

esta rotina não está funcionando porque eu não sei o nome da forma. Alguém pode me dizer qual é o nome da forma de uma caixa retangular?

Function SetShapeText(s As String, sShpName As String) 
s = "some text"
Dim i As Integer 

ActiveSheet.Shapes(sShpName).Select 

With Selection 
    .Text = "" 
    For i = 0 To Int(Len(s) / 255) 
        .Characters(.Characters.Count + 1).Text = Mid(s, 255 * i + 1, 255) 
    Next 
End With 
End Function 

erros nesta linha: ActiveSheet.Shapes (sShpName) .Selecione

    
por DanM 22.01.2016 / 18:54

1 resposta

2

Você precisa executar o primeiro para obter os nomes. O segundo aqui mostra como chamar a função que você tem lá.

Sub myshapes()
Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
    Debug.Print shp.Name
    Next
End Sub
Sub sendit()
Dim shpnm As String
shpnm = "Rectangle 1"
Dim mystring As String
mystring = "blah blah"
Dim x As Variant
x = SetShapeText(mystring, shpnm)

End Sub

Veja, você tem uma função lá que requer duas entradas: s, sShpName

Para usar uma função, você precisa chamar isso para passar seus argumentos para ela, como acima. Não há razão para alterar nada dentro da função.

    
por 22.01.2016 / 19:05