Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> цикл по однотипным объектам формы 
:(
    Опции темы
kb-nn
Дата 14.10.2004, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



слушайте.
какможно организовать цикл по всем объектам заданного типа на форме?
например обойти все Label ы
PM MAIL ICQ   Вверх
~FoX~
Дата 14.10.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



В свойстве index своих объектов указываешь номера от 0 до n
И перебераешь так

Код

for i = 0 to n
 Form1.Label1(i).Caption = "123"
next n


Только имена у них должны быть одинаковые sad.gif но зато очь удобно


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
kb-nn
Дата 14.10.2004, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



спасибо.!!!!
но у меня так не получится.
мне надо для VBA
в VBA нет у объектов формы свойства Index
но как-то можно было еще.
проход по всем объектам формы вообще,и если тип= "label" то что-то делать.
PM MAIL ICQ   Вверх
Akina
Дата 14.10.2004, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата
мне надо для VBA

Тебе в "Программирование, связанное с MS Office". Попроси модератора перенести.

А вообще у формы среди ее свойств есть коллекция контролов, каждый из которых имеет свойство "Тип".


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
~FoX~
Дата 14.10.2004, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



For Each...Next - по моему то что тебе надо


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 14.10.2004, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Модератор: Тема перемещена из VB.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
kb-nn
Дата 14.10.2004, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



про For Each этои так понятно.
как получить в массиве все объекты формы?
как из них выделить объекты какого-то конкретного типа?
PM MAIL ICQ   Вверх
cardinal
Дата 14.10.2004, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



В VB так:
Код
Private Sub Command1_Click()
Dim x As CommandButton
For Each x In Form1.Controls
   Debug.Print x.Caption
Next
End Sub



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Staruha
Дата 16.10.2004, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Может ты просто хочешь изменить текст тогда
UserForm2.Label1.Caption = "Меняем текст"


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 16.10.2004, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Или так?
Код
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

Добавлено @ 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



--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 16.10.2004, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



:qstn


--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 18.10.2004, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Если надо пробежать только по labels, то
Код
dim obj as Control
for each obj in Forms("myForm").Controls
  if typeof obj is Label then Msgbox obj.caption
next



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.