Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / повторы в ComboBox1 / 3 сообщений из 3, страница 1 из 1
18.03.2011, 21:27
    #37172978
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторы в ComboBox1
Здравствуйте, подскажите пожалуйста как узнать есть ли среди строк внесённых в Комбобокс сроках повторения, спасибо
Делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
ActiveDocument.ComboBox1.AddItem "Эт"
ActiveDocument.ComboBox1.AddItem "Эт"
ActiveDocument.ComboBox1.AddItem "Юр"
ActiveDocument.ComboBox1.AddItem "Яв"
Количество_строк_в_ComboBox = ActiveDocument.ComboBox1.ListCount 'тут присваивается 4, и все записи реально попадают в Комбобокс, ОК
'объект Dictionary - Словарь не встроен в VBA, он находится в библиотеке Microsoft Scripting Runtime
'чтобы использовать объект Dictionary в VBA программе, нужно добавить ссылку на библиотеку Microsoft Scripting Runtime
DIM dictBigCats AS Scripting.Dictionary
'создать словарь
Set dictBigCats = CreateObject("Scripting.Dictionary")
 
FOR w =  1  TO Количество_строк_в_ComboBox
Y = ActiveDocument.ComboBox1.LIST(w) 'на втором проходе присвивается "Юр" а не "Эт", почему ???, на последнем проходе цикла ошибка 381 Invalid property-array index    Недопустимый индекс массива свойств
'поиск происходит только по первому значению словаря
IF (dictBigCats.Exists(ActiveDocument.ComboBox1.LIST(w))) THEN
MsgBox$ "Одинаковые записи в элементе управления ComboBox: " & ActiveDocument.ComboBox1.LIST(w)
EXIT FOR
ELSE
'теперь можно добавлять в словарь имена элементов и значения с помощью метода Add
dictBigCats.Add ActiveDocument.ComboBox1.LIST(w),  1 
Количество_записей_в_словаре = dictBigCats.Count
END IF
NEXT w

НЕ ПОНЯТНО В ЭТОЙ СТРОКЕ:

Y = ActiveDocument.ComboBox1.LIST(w) 'на втором проходе присвивается "Юр" а не "Эт", почему ???, на последнем проходе цикла ошибка 381 Invalid property-array index Недопустимый индекс массива свойств
ПОЧЕМУ ТАК??
...
Рейтинг: 0 / 0
18.03.2011, 21:31
    #37172983
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторы в ComboBox1
Ципихович Эндрю,

FOR w = 0 TO Количество_строк_в_ComboBox-1
...
Рейтинг: 0 / 0
18.03.2011, 22:21
    #37173038
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторы в ComboBox1
For w = 0 To Количество_строк_в_ComboBox - 1
ОК, СПАСИБО!!!!!!!!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / повторы в ComboBox1 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]