Страница: 1 |
Страница: 1 |
Вопрос: Контекстное меню - как сделать
Добавлено: 15.05.07 22:03
Автор вопроса: VisualPaul | ICQ: 402519798
Ну да такой дурацкий вопрос возник и всё тут
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 15.05.07 22:24
сделай новую форму, и при клике мышкой показывай ее с координатами левого верхнего угла = координатам мыши
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 16.05.07 00:12
Делаешь обычное меню, делаешь его скрытым, а потом используешь что-то типа Me.PopupMenu, где один из параметров - имя меню, а другой - координаты точки, где его надо показать.
Номер ответа: 3
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #3
Добавлено: 16.05.07 00:45
http://www.progz.ru/forum/lofiversion/index.php/t27856.html
http://www.vbstreets.ru/VBA/Articles/65843.aspx
http://msoffice.nm.ru/faq/macros/commandbars.htm
Номер ответа: 4
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #4
Добавлено: 16.05.07 01:03
Этот код надо добавить в модуль общего назначения (т.е. в Module1)
[/code]Sub CreateShortcut()
 im myBar As CommandBar
 im myItem As CommandBarControl
Call DeleteShortcut
'создаём контекстное меню
Set myBar = CommandBars.Add _
 Name:="MyShortcut", Position:=msoBarPopup, Temporary:=True)
'создаём объектную переменную для будущих строк меню
'первая строка
Set myItem = myBar.Controls.Add(Type:=msoControlButton)
With myItem
.Caption = "Привет1" 'название
.OnAction = "Hi1" 'что делать по нажанию
.FaceId = 1554 'иконка
End With
'вторая строка
Set myItem = myBar.Controls.Add(Type:=msoControlButton)
With myItem
.Caption = "Привет2" 'название
.OnAction = "Hi2" 'что делать по нажанию
.FaceId = 291 'иконка
End With
'и т.д.
End Sub
Private Sub Hi1()
MsgBox "Привет 1"
End Sub
Private Sub Hi2()
MsgBox "Привет 2"
End Sub
Private Sub DeleteShortcut()
On Error Resume Next
CommandBars("MyShortcut".Delete
End Sub
[/code]
Этот код в модуль ЭтаКнига (ThisWorkbook), чтобы меню создавалось во время открытия книги
Call CreateShortcut
End Sub
А этот код добавляем, например, в модуле "Лист1"
CommandBars("MyShortcut".ShowPopup
Cancel = True
End Sub
Номер ответа: 5
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #5
Добавлено: 16.05.07 10:20
Интересно, когда сделают возможность редактирования своего сообщения ? Кто даст e-mail админа ? )
Номер ответа: 6
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #6
Добавлено: 16.05.07 12:36
Ага, тёзка.
Номер ответа: 7
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #7
Добавлено: 16.05.07 12:39
И ещё а под VB6 как
Номер ответа: 8
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #8
Добавлено: 16.05.07 15:24
У меня :
User-defined type not defined
Определяемый пользователем тип не определён
Номер ответа: 9
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #9
Добавлено: 16.05.07 19:02
Как будет в VB6 я не знаю (
Всё тестровалось на Excel 2003
Я писал вчера из дома и сейчас проверил у себя на работе всё прекрасно работает. Проверьте:
1)правильно ли вы разместили кода (в нужных ли модулях)
2)может там ссылки на библиотеки нужны
у меня сейчас подключены след. библиотеки
1) Visual Basic For Applications
2) Microsoft Excel 11.0 Object Library
3) OLE Automation
4) Microsoft Office 11.0 Object Library
Номер ответа: 10
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #10
Добавлено: 16.05.07 23:28
Понял проверю 17-го
Номер ответа: 11
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #11
Добавлено: 18.05.07 11:09
Критична - Microsoft Office 11.0 Object Library