Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 19:01   #1
Наталья Ивановна
 
Регистрация: 26.05.2009
Сообщений: 9
По умолчанию Создание пользовательских меню

Пытаюсь создать меню Анализ. вешает ошибку "Type mismatch" на выделенную строку.
Может кто-нибудь знает в чем может быть ошибка? Подскажите, пожалуйста

Код:
Sub DeleteMenu()
 
On Error Resume Next
Application.CommandBars(1).Controls("&Анализ").Delete
On Error GoTo 0
 
End Sub
'_______________________________________________________________
Sub CreateMenu()
 
'MsgBox CommandBars(1).Controls("Справка").ID
 
Dim HelpMenu As CommandBarControl
Dim MenuObject As CommandBarPopup
Dim MenuItem As CommandBarControl
Dim SubMenuItem As CommandBarButton
 
Call DeleteMenu
 
Set HelpMenu = CommandBars(1).FindControl(ID:=30010)
 
If HelpMenu Is Nothing Then
 
    Set MenuObject = CommandBars(1).Controls.Add(Type:=msoControlPopup, _
temporary:=True)
    
Else
   
Set MenuObject = CommandBars(1).Controls.Add(Type:=msoControlPopup, Before:=HelpMenu, temporary:=True) 
    
End If
 
MenuObject.Caption = "&Анализ"
 
Set MenuItem = MenuObject.Controls.Add(Type:=msoControllButton)
    MenuItem.OnAction = "Irvin"
    MenuItem.Caption = "&Цензурирование выборки"
 
End Sub

Последний раз редактировалось EducatedFool; 26.05.2009 в 19:13. Причина: Оформляем код тегами
Наталья Ивановна вне форума Ответить с цитированием
Старый 26.05.2009, 19:12   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Во-первых, в строке Set MenuItem = MenuObject.Controls.Add(Type:=msoCo ntrollButton) синтаксическая ошибка.

Во-вторых, вполне хватит и этого кода:

Код:
Sub DeleteMenu()
    On Error Resume Next
    Application.CommandBars(1).Controls("&Анализ").Delete
End Sub

Sub CreateMenu()
    Call DeleteMenu
    
    Set MenuObject = CommandBars(1).Controls.Add(Type:=msoControlPopup, Temporary:=True)
    MenuObject.Caption = "&Анализ"
    
    Set MenuItem = MenuObject.Controls.Add(Type:=msoControlButton)
    MenuItem.OnAction = "Irvin"
    MenuItem.Caption = "&Цензурирование выборки"
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 26.05.2009, 19:27   #3
Наталья Ивановна
 
Регистрация: 26.05.2009
Сообщений: 9
По умолчанию

ОООООООО!!!!!!!!!!!!!!!!!!!! Спасибо ОГРОМНОЕ!!!!!!! Все прекрасно работает Вы-супермозг ))))))))
Наталья Ивановна вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание меню StudentPolitech Общие вопросы C/C++ 8 12.12.2008 10:33
Создание своего меню в Exele W50586 Microsoft Office Excel 2 23.06.2008 15:20
Шаблоны пользовательских классов MaTBeu Общие вопросы C/C++ 2 23.03.2008 19:02
Создание меню на С KsandR Общие вопросы C/C++ 5 13.12.2007 21:34
Меню, создание нового пункта Yogik™ Помощь студентам 2 17.08.2007 17:32