Const CB_GETLBTEXT = &H148
Сообщение CB_GETLBTEXT возвращает текст элемента списка комбинированного окна ComboBox
В успешном случае сообщение возвращает длину строки, передаваемой в переменную lParam без завершающего нулевого символа. В случае ошибки возвращается -1
' Определяем текст выбранного элемента списка комбинированного окна ' Вы должны создать элемент управления Combo1 ' и заполнить список Dim index As Long ' индекс выбранного элемента Dim itemtext As String ' текст выбранного элемента Dim textlen As Long ' длина текста выбранного элемента списка ' Определяем индекс выбранного элемента списка index = SendMessage(Combo1.hWnd, CB_GETCURSEL, ByVal 0, ByVal 0) ' Возможные варианты Select Case index Case -1 Debug.Print "Никакой элемент списка не выбран" Case Else ' Если есть выбранный элемент, ' то определяем длину текста элемента textlen = SendMessage(Combo1.hWnd, CB_GETLBTEXTLEN, ByVal index, ByVal 0) ' Создаем буфер для приема строки, включая завершающий нулевой символ itemtext = Space(textlen) & vbNullChar ' Отображаем текст textlen = SendMessage(Combo1.hWnd, CB_GETLBTEXT, ByVal index, ByVal itemtext) itemtext = Left(itemtext, textlen) Debug.Print "Выбранный элемент: "; itemtext End Select