Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 362
от 03.09.2006, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 194, Экспертов: 32
В номере:Вопросов: 3, Ответов: 6


Вопрос № 53541: Добрый день ! На форме есть Combo1_Label1_в Combo1_записано 10 строк. МЫШКОЙ можно передвигаться по списку. При нажатии на мышку можно отобразить выделенную в списке_строку в Label1 Private Sub Combo1_Click() Label1 = Co...
Вопрос № 53549: Добрый день ! Спасибо за ответы, но не то. Нужно отобразить информацию, когда передвигаемся мышкой по списку, а не нажимать на кнопку мышки. На форме есть Combo1_Label1_в Combo1_записано 10 строк. МЫШКОЙ можно передвига...
Вопрос № 53611: Добрый день! небходимо написать небольшой(я так думаю) макрос для xls книги(с одного листа перенос информации в другие листы книги). если кто-то разбирается, то могу выслать более подробную информацию(на личку или аську). надеюсь, дл...

Вопрос № 53.541
Добрый день !

На форме есть Combo1_Label1_в Combo1_записано 10 строк.
МЫШКОЙ можно передвигаться по списку.
При нажатии на мышку можно отобразить выделенную в списке_строку в Label1

Private Sub Combo1_Click()
Label1 = Combo1.Text
End Sub

Как отобразить в Label1 выделенную строку из списка_при передвижении по списку ?

С уважением Александр.
Отправлен: 28.08.2006, 16:41
Вопрос задал: Гробенюк Александр Александрович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Коляка Вадим
Здравствуйте, Гробенюк Александр Александрович!
добавьте на форму один комбобокс и лэйблу. В форм-лоад - забиваются значения в комбо. Событие - по нажатию клавиш. Ну и идет проверка - по жажатию каких именно.

Приложение:

Ответ отправил: Коляка Вадим (статус: 3-ий класс)
Ответ отправлен: 28.08.2006, 16:58

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Гробенюк Александр Александрович!

Например, перед этим мы задали содержимое Combo1 на форме Forme :

Forme.Combo1.Clear
Forme.Combo1.AddItem "Ctroka 0"
Forme.Combo1.AddItem "Ctroka 1"
Forme.Combo1.AddItem "Ctroka 2"
Forme.Combo1.AddItem "Ctroka 3"

После вызова формы перемещение и выбор строки можно производить как мышкой, так и с клавиатуры. В обоих случаях возникнет событие Click, которое можно обработать в процедуре:

Private Sub Combo1_Click()
Dim s As String
Dim n As Long

s = Forme.Combo1.Text 'получаем содержимое выбранной строки
n = Forme.Combo1.ListIndex 'получаем номер строки - нумерация с 0

Forme.Label1=s 'изменяем на новую строку

End Sub

При заполнении Combo следует помнить, что индекс начинается с 0 и увеличивается автоматически при добавлении строк. На экране отображается в такой же последовательности, если не оговорено в условиях.

С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 5-ый класс)
Ответ отправлен: 28.08.2006, 17:00

Отвечает: Tossha
Здравствуйте, Гробенюк Александр Александрович!
Используйте событие Change(см. приложение)

Приложение:

Ответ отправил: Tossha (статус: 1-ый класс)
Ответ отправлен: 28.08.2006, 22:37


Вопрос № 53.549
Добрый день !

Спасибо за ответы, но не то.

Нужно отобразить информацию, когда передвигаемся мышкой по списку, а не нажимать на кнопку мышки.

На форме есть Combo1_Label1_в Combo1_записано 10 строк.
МЫШКОЙ можно передвигаться по списку.
При нажатии на мышку можно отобразить выделенную в списке_строку в Label1

Private Sub Combo1_Click()
Label1 = Combo1.Text
End Sub

Как отобразить в Label1 выделенную строку из списка_при передвижении по списку ?

С уважением Александр.
Отправлен: 28.08.2006, 17:32
Вопрос задал: Гробенюк Александр Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Кокорич Вадим Леонидович
Здравствуйте, Гробенюк Александр Александрович!

В Visual Basic нет процедуры обработки соответствующего события (перемещение курсора мыши над выпадающим списком), нет также, насколько я знаю, и события получения фокуса элементом списка. Скорее всего, здесь нужно отслеживать прохождение курсора мыши над объектом (Combo) посредством WinAPI, но в этом случае, Combo лучше создать опять-таки через API, контролировать состояние Combo и отображать изменения в Label. Короче говоря - слишком много сложностей, вряд ли овчинка выделки стоит. Стандартными средствами VB этого не добиться.
---------
Труд сделал обезьяну человеком, а лень человека - программистом !
Ответ отправил: Кокорич Вадим Леонидович (статус: 5-ый класс)
Ответ отправлен: 28.08.2006, 19:36

Отвечает: Tossha
Здравствуйте, Гробенюк Александр Александрович!
Используйте событие Change(см. приложение)

Приложение:

Ответ отправил: Tossha (статус: 1-ый класс)
Ответ отправлен: 28.08.2006, 22:39


Вопрос № 53.611
Добрый день!
небходимо написать небольшой(я так думаю) макрос для xls книги(с одного листа
перенос информации в другие листы книги).
если кто-то разбирается, то могу выслать более подробную информацию(на личку или аську).
надеюсь, для меня это немного будет стоить вебмани))
спасибо

p.s.
или подскажите форумы где обсуждают xls и vba
Отправлен: 29.08.2006, 10:06
Вопрос задал: Wadr (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Кокорич Вадим Леонидович
Здравствуйте, Wadr!

1. Введите в ячейки А1 - С3 Листа1 какие-нибудь значения (9 ячеек)
2. Откройте редактор VB ("Вид" - "Панели инструментов" - "Visual Basic")
3. Зайдите в редактор VB
4. В проводнике объектов (слева) дважды кликните на ThisWorkbook
5. Справа в окне редактора кода введите следующий код :
Option Explicit
Dim V
Private Sub Workbook_Open()
Worksheets(1).Activate
V = Range("A1:C3").Value
Worksheets(3).Activate
Range("A1:C3").Value = V
End Sub
6. Нажмите на панели управления кнопку сохранения и выйдите из редактора.
7. Закройте документ Microsoft Excel, сохранив изменения.

При открытии документа данные, которые Вы ввели в диапазон А1 - С3 Листа1
скопируются в Лист3 и он автоматически активируется. Вы можете сами задать диапазон и еще раз проверить макрос. У меня он работает безотказно (Office 97)
---------
Труд сделал обезьяну человеком, а лень человека - программистом !
Ответ отправил: Кокорич Вадим Леонидович (статус: 5-ый класс)
Ответ отправлен: 29.08.2006, 18:48


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное