Страница: 1 |
Вопрос: Создание обработчика события программными ср-ми | Добавлено: 30.04.07 09:20 |
Автор вопроса: ![]() |
Здравствуйте!
У меня несколько строчек кода, чтобы добавлять новый лист в книгу Excel и вставлять туда ListBox, но я не могу представить как задать этому ListBox обработчик событий (например просто на щелчок мыши). Заранее спасибо!!! |
Ответы | Всего ответов: 11 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 408802757 Вопросов: 76 Ответов: 985 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 30.04.07 10:41 |
Private Sub List1_Click()
а так не покатит?
End Sub |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #2 | Добавлено: 30.04.07 10:57 |
Ну... дак а как это написать для пока несуществующего контрола? Он ведь появится при выполнении программы))) |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 55 Ответов: 1008 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 30.04.07 11:12 |
Сергей, смотря как ты его добавляешь |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #4 | Добавлено: 30.04.07 11:18 |
-АлександР-, а есть несколько способов его добавить?
Сергей RTFM. Visual Basic for Applications Extensibility X.XX |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #5 | Добавлено: 30.04.07 11:42 |
Добавляю его так
ActiveSheet.OLEObjects.Add(ClassType:="Forms.ListBox.1", Link:=False, DisplayAsIcon:=False, Left:=0, Top:=100.75, Width:=72, Height:=24).Select поясни пожалуйста, если не затруднит, что делать с тем что ты написал. Я не совсем понял как это мне поможет ) |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #6 | Добавлено: 30.04.07 11:44 |
АлександрР
добавляю его так ActiveSheet.OLEObjects.Add(ClassType:="Forms.ListBox.1", Link:=False, DisplayAsIcon:=False, Left:=0, Top:=100.75, Width:=72, Height:=24).Select поясни пожалуйста, если не затруднит, что делать с тем что ты написал. Я не совсем понял как это мне поможет ) |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #7 | Добавлено: 30.04.07 12:05 |
RTFM = Read the F*cking Manual.
Visual Basic for Applications Extensibility X.XX = то, что надо подключить в Project - References. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #8 | Добавлено: 30.04.07 12:21 |
Спасибо!
Но я хотел бы узнать, кто нибудь это вообще делал? Ведь речь идет об изменении кода во время его работы! Тут принципиальная вещь! |
Номер ответа: 9 Автор ответа: ![]() ![]() Вопросов: 55 Ответов: 1008 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 30.04.07 12:32 |
Я не знаю то, что хочет GSerg, но я в свое время это делал так:
где-то в коде формы: While numLab < Val(Text1) Set textWidt(numLab) = Me.Controls.Add("VB.TextBox", "lineWidth" & numLab, Me) With textWidt(numLab) .Visible = True .Left = Text1.Left .Width = 350 .Top = topLab .FontSize = 14 .Text = 1 End With topLab = topLab + 600 myTxtBox(numLab).MkEqu = textWidt(numLab) numLab = numLab + 1 Wend и в модуле класса: Option Explicit
Получается врапперинг...
Private WithEvents DemoTxtBox As TextBox Property Let MkEqu(DemoTxtBox2 As Object) Set DemoTxtBox = DemoTxtBox2 End Property Sub DemoTxtBox_Change() Form1.Caption = 0 End Sub Ведь речь идет об изменении кода во время его работы! Тут принципиальная вещь! ни о каких изменениях кода во время его работы здесь даже близко и речи нет - просто используем скромные возможности ООП в вб6/вба/
|
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #10 | Добавлено: 30.04.07 13:15 |
Сергей
Это не просто "кто-то делал", это банально и вообще не стоит даже упоминания, тем более восторгов каких-то. Принципально называется... -АлександР- Если ты этого не делал, это ещё ничего не значит. Попробуй своим способом обеспечить поддержку любого числа добавляемых контролов. |
Номер ответа: 11 Автор ответа: ![]() ![]() Вопросов: 55 Ответов: 1008 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 30.04.07 13:51 |
GSerg,
попробовал: http://sham.clan.su/publ/8-1-0-5 там есть пример для скачивания, внизу страницы ссылка, можеь сразу его скачать и посмотреть пример очень нагдный и в том-то и дело, что количество добавляемых контролов может быть любым Если ты этого не делал, это ещё ничего не значит. согласен
Я не знаю то, что хочет GSerg, теперь знаю: просто он указал на библиотеку, без которой на VBA мой пример просто не будет работать))))
Сергей за более подробной информацией http://sham.clan.su/publ/8-1-0-5 там все с комментариями, будут вопрос спрашивай |
Страница: 1 |
|