Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Генерация в цикле в переменную имена CheckBox Добавлено: 11.07.08 14:54  

Автор вопроса:  Boron
Вообщем не могу решить задачу: не подскажите как с ней справиться?

На самом деле моя задача отлична от примера, но главная суть такая:

Имеется на форме 6 CheckBox. Мне необходимо сделать так, чтобы при нажатии на кнопку рабочего листа, появлялась форма, и на каждом CheckBox, при помощи цикла, в свойстве Caption прописывался текст "Тест".

У меня это не получается, пишу код, как это пробовал делать я:


Private Sub CommandButton2_Click()
Dim TmpCheckBox

For k = 1 To 6
    TmpCheckBox = "SpecificationRus.CheckBoxA" & k
    TmpCheckBox.Caption = "Тест"
Next k

SpecificationRus.Show
End Sub


Пробовал разные варианты решения этой задачи, причём для переменной TmpCheckBox я задавал свойство "As Object". Но всё-равно ничего не работает.

В чём я не прав, не подскажите?

P.S. CheckBox имеет имена:
CheckBoxA1
CheckBoxA2
...
CheckBoxA6

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #1 Добавлено: 11.07.08 17:48
типа того что-то я думаю:

dim ctl as control
tmpcheckbox as checkbox
For each ctl in me.controls
if typeof ctl is checkbox then
set tmpcheckbox=ctl
select case tmpcheckbox.name
case ...
case ...
end select
end if
next ctl


~'J'~

Ответить

Номер ответа: 2
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #2 Добавлено: 12.07.08 19:23
  Dim ctl As Control, tmpcheckbox As CheckBox
  
  UserForm1.Show
  For Each ctl In UserForm1.Controls
    If ctl.Name Like "CheckBox*" Then
      ctl.Caption = "Text"
      ctl.Visible = True
    End If
  Next ctl

Ответить

Номер ответа: 3
Автор ответа:
 Boron



Вопросов: 5
Ответов: 12
 Профиль | | #3 Добавлено: 15.07.08 16:17
Благодарю за ответы! ;)

Ответить

Номер ответа: 4
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #4 Добавлено: 16.07.08 13:41
Еще вот так можно. Это вообще под твой вариант. :-)
For iCount = 1 To 10
    With Me.Controls("CheckBoxA" & iCount)
      .Caption = "Text"
    End With
Next

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам