imho.ws |
|
24.10.2005, 09:09 | # 1 |
Member
Регистрация: 12.07.2004
Адрес: Очень странное место.
Сообщения: 328
|
Вопрос по копированию в буффер и VBA.
Доброго времени суток.
Есть форма. В ней список с полями: id|name Ширина id - 0. Тоесть ег не видно. Если кликнуть второй кнопкой мыши на элемент списка (пользователь видит name) и в контекстном меню выбрать "скопировать", то в буффер копируется id. Можно ли как то изменить эту ситуацию ? Нужно что бы копировалось name. Естественно наиболее простой вариант - поменять поля местами. Но при этом придется переписывать кучу кода. Возможно ли этого избежать ? С уважением. Ворон. |
24.10.2005, 13:49 | # 2 |
Junior Member
Регистрация: 16.10.2002
Адрес: Россия-матушка
Пол: Male
Сообщения: 96
|
Самое первое, что приходит в голову -- создать такой же список (назовем его lst_Copy), только присоединенный столбец в нем указать 2-й, и выбирать в исходном списке выбранный элемент в копии; исходный же список сделать невидимым. Предположим, твой исходный список называется lst_My. Для lst_Copy пишем такой обработчик события "После обновления":
Код:
Private Sub lst_Copy_AfterUpdate() If Not IsNull(lst_Copy.Column(0)) Then lst_My.Value = lst_Copy.Column(0) ' Выбираем в исходном ' списке тот же элемент, который выбран в копии lst_My_AfterUpdate ' Если в исходном списке нет такого события, ' то эта строчка не нужна End If End Sub
__________________
1 миллибайт = 1/1024 байта |