у меня есть следующая процедура, которую я нашел в сети здесь: http://www.ozgrid.com/forum/showthread.php?t=77662

эта процедура не работает, потому что я не знаю это имя формы. Кто-нибудь может сказать мне, что имя формы для прямоугольной коробки?

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 

это ошибки в этой строке: ActiveSheet.Формы (sShpName).Выбрать

1 ответ1

2

Вам нужно запустить первый, чтобы получить имена. Второй здесь показывает, как вызвать функцию, которая у вас есть.

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

Видите, у вас есть функция, которая требует два входа: s, sShpName

Чтобы использовать функцию, вам нужно вызвать ее, передать в нее свои аргументы, как указано выше. Нет причин менять что-либо внутри функции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .