Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.156.46] |
|
Сообщ.
#1
,
|
|
|
В Excel 2010 на лист добавил CheckBox, но неясно как найти его имя чтобы программно к нему обращаться.
|
Сообщ.
#2
,
|
|
|
Какой чекбокс?
если из ActiveX, то в поле имён видно имя Прикреплённый файл______________.png (15,43 Кбайт, скачиваний: 455) |
Сообщ.
#3
,
|
|
|
А в чем отличие "Элементы управления формы" и Элементы ActiveX? Что использовать?
Прикреплённый файлex1.png (23,7 Кбайт, скачиваний: 458) ? |
Сообщ.
#4
,
|
|
|
^D^ima
Первое - через объектную библиотеку Excel, встроенные, второе - напрямую. См. например, вот это. Первые - гарантированно имеются на любой рабочей станции, где установлен Excel, но дубовые, часть пропертей, методов и эвентов может отсутствовать. Вторые - гибче, но приходится контролировать их существование (и порой версию) при переносе на другую станцию. |
Сообщ.
#5
,
|
|
|
Как достучаться до пропертей тогда, проверить на cheked например? Почему нет элемента в списке? Нет ни Флфжек1 ни CheckBox1
Прикреплённый файлvba.png (51,14 Кбайт, скачиваний: 447) |
Сообщ.
#6
,
|
|
|
Цитата ^D^ima @ Как достучаться до пропертей тогда, проверить на cheked например? Как обычно, нажать F2 в редакторе VBA и посмотреть свойства и методы нужного объекта из нужной библиотеки. Но если Intellisecnce после точки в списке доступных не показывает нужное свойство или метод - то его у объекта и нет. |
Сообщ.
#7
,
|
|
|
Цитата Почему нет элемента в списке? значит ты используешь формы к ним обращаться и проверять свойства сложней через shapes( имя_шара).object.object. - как-то так лучше ИМХО ActiveX использрвать Добавлено Цитата после точки в списке доступных не показывает нужное свойство или метод а вот это совсем не факт! После точки ексел показывает намного меньше свойств чем не показывает! Добавлено к форме обращение так: t = Лист1.Shapes("Флажок 1").OLEFormat.Object.Value если флаг установлен = 1 иначе = -4146 |
Сообщ.
#8
,
|
|
|
Цитата alex77755 @ ИМХО ActiveX использрвать А как к объектам ActiveX обращаться? |
Сообщ.
#9
,
|
|
|
Просто по имени
t = Лист1.CheckBox1.Value Значения соответственно True и Fakse |
Сообщ.
#10
,
|
|
|
^D^ima, К родному флажку (тому, что на скриншоте) обращаться несложно :
Dim ck As CheckBox Set ck = Лист1.CheckBoxes(1) 'ActiveSheet.CheckBoxes("Флажок 1") t = ck.Value P.S. Можно, разумеется, обойтись и без переменной, но так нагляднее |