Страница: 1 |
Страница: 1 |
Вопрос: Создание обработчика события программными ср-ми
Добавлено: 30.04.07 09:20
Автор вопроса: Сергей
Здравствуйте!
У меня несколько строчек кода, чтобы добавлять новый лист в книгу Excel и вставлять туда ListBox, но я не могу представить как задать этому ListBox обработчик событий (например просто на щелчок мыши).
Заранее спасибо!!!
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #1
Добавлено: 30.04.07 10:41
End Sub
Номер ответа: 2
Автор ответа:
Сергей
Вопросов: 1
Ответов: 4
Профиль | | #2
Добавлено: 30.04.07 10:57
Ну... дак а как это написать для пока несуществующего контрола? Он ведь появится при выполнении программы)))
Номер ответа: 3
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #3
Добавлено: 30.04.07 11:12
Сергей, смотря как ты его добавляешь
Номер ответа: 4
Автор ответа:
GSerg
Вопросов: 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
Автор ответа:
GSerg
Вопросов: 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
и в модуле класса:
Private WithEvents DemoTxtBox As TextBox
Property Let MkEqu(DemoTxtBox2 As Object)
Set DemoTxtBox = DemoTxtBox2
End Property
Sub DemoTxtBox_Change()
Form1.Caption = 0
End Sub
Номер ответа: 10
Автор ответа:
GSerg
Вопросов: 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
там есть пример для скачивания, внизу страницы ссылка, можеь сразу его скачать и посмотреть
пример очень нагдный и в том-то и дело, что количество добавляемых контролов может быть любым
Сергей
за более подробной информацией http://sham.clan.su/publ/8-1-0-5 там все с комментариями, будут вопрос спрашивай