VBA. Автоматический выбор из ComboBox с открытием другого ComboBox'а
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Автоматический выбор из ComboBox с открытием другого ComboBox'а

VBA. Автоматический выбор из ComboBox с открытием другого ComboBox'а

Ответ
Поиск в этой теме
Непрочитано 01.11.2010, 10:46 #1
VBA. Автоматический выбор из ComboBox с открытием другого ComboBox'а
AnteC
 
Регистрация: 01.11.2010
Сообщений: 12

Здравствуйте.
Требуется на VBA реализовать следующее:
Пользователь щелкает на 1вый ComboBox1, выбирает некоторое значение, после чего должно быть автоматическое открытие следующего ComboBox2 для выбора следующего значения.
Однако если использовать для этого Private Sub ComboBox1_Change() в котором вызывать открытие следующего ComboBox2, то AutoCad вылетает с ошибкой. (это происходит как раз во время вызова ComboBox2.DropDown )
Как я понимаю проблема в том, что предыдущий ComboBox1 еще не закрылся. Можно ли как-нибудь решить это?
В данный момент решено путем необходимости нажатия после каждого выбора значения Enter (и использования ComboBox1_KeyDown), но что жутко неудобно.
Просмотров: 8747
 
Непрочитано 01.11.2010, 11:15
#2
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Что нужно, что б после выбора значения в ComboBox1, автоматически раскрывался список в ComboBox2?
Однако да, вылетает.. Можно посадить ComboBox2.DropDown на ComboBox1_Exit, тогда будет раскрываться второй список при переходе на любой другой контрол..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 01.11.2010, 11:29
#3
AnteC


 
Регистрация: 01.11.2010
Сообщений: 12


На Exit не имеет смысла садить. Нужно именно при выборе значения в ComboBox1.
Вероятно это не реализуемо(
AnteC вне форума  
 
Непрочитано 01.11.2010, 11:41
#4
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Цитата:
Сообщение от AnteC Посмотреть сообщение
На Exit не имеет смысла садить. Нужно именно при выборе значения в ComboBox1.
Вероятно это не реализуемо(
Вероятно да.. Может, если уж так уж необходимо автоматическое раскрытие списка, добавить еще одну форму с комбобоксом, вызывать ее по ComboBox1_Change, заполнять список в комбобоксе по UserForm_Initialize, беря значения из комбобокса на 1-й форме.. Чего-то типа такого:
Код:
[Выделить все]
Private Sub UserForm_Initialize()
For i = 1 To UserForm2.ComboBox1.ListCount - 1
 ComboBox1.AddItem UserForm2.ComboBox1.List(i)
Next i
ComboBox1.Value = UserForm2.ComboBox1.List(0)
End Sub

Private Sub UserForm_Activate()
ComboBox1.DropDown
End Sub
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 01.11.2010, 12:37
#5
AnteC


 
Регистрация: 01.11.2010
Сообщений: 12


Нет. Все должно быть на одной форме.
Нет ли какого-нибудь хитрого(ибо в справке не нашел) метода, закрывающего ComboBox?
AnteC вне форума  
 
Непрочитано 01.11.2010, 16:46
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Может, SetFocus поможет? По VBA нихьть бельмес...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.11.2010, 16:49
#7
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,706


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Может, SetFocus поможет? По VBA нихьть бельмес...
Не помогает.. пробовал.. Даже пробовал ComboBox2.DropDown посадить на отдельно живущую кнопку, а CommandButton1_Click вызывать из ComboBox1_Change, предварительно передав фокус ComboBox2.SetFocus.. Все равно, вылет автокада..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Автоматический выбор из ComboBox с открытием другого ComboBox'а

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический выбор объектов в последовательном порядке. Terminator637 AutoCAD 15 31.03.2010 19:54
Как импортировать средствами VBA настройки печати из другого чертежа? Luntik Программирование 3 15.10.2009 16:10
Выбор объектов в VBA Бродяга Программирование 19 12.03.2007 09:33