| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > цикл по однотипным объектам формы |
| Автор: kb-nn 14.10.2004, 11:29 |
| слушайте. какможно организовать цикл по всем объектам заданного типа на форме? например обойти все Label ы |
| Автор: ~FoX~ 14.10.2004, 12:11 | ||
| В свойстве index своих объектов указываешь номера от 0 до n И перебераешь так
Только имена у них должны быть одинаковые |
| Автор: kb-nn 14.10.2004, 12:26 |
| спасибо.!!!! но у меня так не получится. мне надо для VBA в VBA нет у объектов формы свойства Index но как-то можно было еще. проход по всем объектам формы вообще,и если тип= "label" то что-то делать. |
| Автор: Akina 14.10.2004, 12:57 | ||
Тебе в "Программирование, связанное с MS Office". Попроси модератора перенести. А вообще у формы среди ее свойств есть коллекция контролов, каждый из которых имеет свойство "Тип". |
| Автор: ~FoX~ 14.10.2004, 12:58 |
| For Each...Next - по моему то что тебе надо |
| Автор: cardinal 14.10.2004, 14:23 |
| Модератор: Тема перемещена из VB. |
| Автор: kb-nn 14.10.2004, 14:37 |
| про For Each этои так понятно. как получить в массиве все объекты формы? как из них выделить объекты какого-то конкретного типа? |
| Автор: cardinal 14.10.2004, 14:50 | ||
В VB так:
|
| Автор: Staruha 16.10.2004, 10:23 |
| Может ты просто хочешь изменить текст тогда UserForm2.Label1.Caption = "Меняем текст" |
| Автор: Staruha 16.10.2004, 11:46 | ||
Или так?
Добавлено @ 11:47 Private Sub CommandButton1_Click() Dim x As Object For Each x In Form.Controls TextBox1.Value = Left(x.Name, 5) If TextBox1.Value = "Label" Then TextBox2.Value = TextBox2.Value + 1 MsgBox "Ура!Я нашел Label" & TextBox2.Value End If Next End Sub |
| Автор: Staruha 16.10.2004, 18:50 |
| |
| Автор: boevik 18.10.2004, 17:16 | ||
Если надо пробежать только по labels, то
|