Добрый день. Я тут решился попрактиковаться в создании пользовательских меню средствами VBA. Открыл первый попавшийся мне по данной теме ресурс. Тупо скопировал код
Код
Dim CstmBar As CommandBar
Set CstmBar = CommandBars.Add(Name:="Головнoe меню",
Position:=msoBarTop, MenuBar:=True, Temporary:=False)
В простейшую процедурку, но не тут то было! Началось все с не верного синтаксиса перенесения строк. Подправил. За одно написал свои параметры.
Код
Set CstmBar = CommandBars.Add Name:="Меню", Position:=msoBarPopup, MenuBar:=False, Temporary:=True
Такой синтаксис тоже ошибочен. Заключил параметры в скобки.
Код
Set CstmBar = CommandBars.Add(Name:="Меню", Position:=msoBarPopup, MenuBar:=False, Temporary:=True)
Редактор материться перестал, но лучше не стало, потому что теперь полезла 5я ошибка времени выполнения - неверные call параметры! Решил убрать имена параметров и сделать короткую форму записи.
Код
Set CstmBar = CommandBars.Add("Меню", msoBarPopup, False, True)
Вот, спасибо, добрый человек! ))) Так заработало! Точнее, перестало ругаться. Но рано радуюсь. Где оно появляется - не понятно Я что-то не вижу результата работы макроса.
Sub aaa()
CommandBars("Меню").Delete
Set CstmBar = CommandBars.Add("Меню", msoBarPopup, False, True)
Application.CommandBars("Меню").ShowPopup 0, 0
End Sub
И любуетесь на пустой квадратик в левом верхнем углу.