Страницы: 1
RSS
vba непонятная ошибка при создании своего меню, стала вылетать ошибка при попытке создать выпадающее меню в стандартной панели
 
Set con = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, 1, , , True)

на этой строке получаем:  


анамнез:
Excel 2003
меню создается автоматически при загрузке надстройки.
нормально создавалось в течение нескольких лет и продолжает создаваться на других компах
перестало создаваться на одном из компов при невыясненных обстоятельствах(я был в отпуске - ничего не знаю)
сброс панели(вручную) позволяет один раз выполнить эту подпрограмму, но при следующем запуске опять вылетает
после сброса панели создает новое меню в панели, но опять вылетает при попытке создать в этом меню выпадающее подменю
переустановка офиса не помогла(с сохранением настроек)
просто добавление кнопок на панель проходит нормально, ошибка только при создании с параметром   msoControlPopup


как лечить?
Живи и дай жить..
 
Слэн, а если сначала через FindControl попробовать поискать этот контрол? Вдруг он уже добавлен?

Плюс проверить свойство меню .Protection и попробовать убрать 1(т.е. указатель на id контрола)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
спсибо.
контрол не добавлен.

насчет protection посмотрю


но в принципе - ведь я произвожу сброс меню..
Изменено: Слэн - 24.09.2014 12:15:56
Живи и дай жить..
 
Слэн, а что если 1 убрать? Ведь id не всегда обязательное условие - с ним в дальнейшем что-то планируется делать? Была проблема у кого-то такая - вылечилось именно исключением id из метода Add.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
прошу ногами не бить:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/125c4301-4095-4f24-adfd-ce839729383b/commandbarcontrolsadd-returns-com-error-0x80004002-in-vs2010?forum=vsx
но если на компе обновились компоненты Visual Studio, то, может быть, проблема в том, что третий параметр, чем бы они ни был, должен быть строковым, а не пустым. Так я понял. Может быть, там какие-то другие тонкости - я в этом почти ничего не понимаю.
F1 творит чудеса
 
Цитата
The_Prist пишет: Слэн, а что если 1 убрать?
попробую
Живи и дай жить..
 
Цитата
Максим Зеленский пишет: прошу ногами не бить:
попробую, но внушает сомнение то, что при другом первом параметре ( msocontrolbutton , например) все работает нормально
Живи и дай жить..
Страницы: 1
Наверх