Создание пользовательского меню в Excel2007
Добавлено: 09 мар 2010, 14:46
Файл «ФормированиеМеню.xls» содержит макрос «СоздатьМеню», запуск которого приводит к добавлению к главному меню EXCELа пользовательского меню с именем «СМ», имеющего 2 подменю – «Расчет СМ» и «Инструкция по работе с программой». Активация первого подменю инициирует выполнение макроса «МакросСМ» из файла «МакросыСМ.xls» (функция макроса – в присвоении активной ячейке значения «5»).
Макросы были написаны для работы в EXCEL2003. Эту задачу необходимо запустить на компьютере, где установлен EXCEL2007(я с ним еще не работала). Пробный запуск результатов не дал – пользовательское подменю не появилось. Допускает ли эта версия EXCELа создание пользовательского меню с 5-6 (а, возможно, и более) уровнями вложенности, если да, то как это можно сделать?
Вложенный файл «Макросы.xls» должны быть размещены в каталоге «C:\User\»
Спасибо.
Требуемые файлы - во вложении.
Что-то не получается с вложениями - привожу тексты здесь:
Этот макрос - в файле «ФормированиеМеню.xls»
Sub СоздатьМеню()
Dim cbMenuBar As CommandBar
Dim ГлавноеМеню As String
Dim ТекстВызоваПрограммы As String
Dim ТекстВызоваСправки As String
Dim ИмяДобавляемогоМеню As String
Dim ИмяПрограммы As String
Dim РасчетнаяПрограмма As String
Dim ПрограммаЗагрузкиСправки As String
ГлавноеМеню = "Worksheet Menu Bar"
'Set cbMenuBar = Application.CommandBars("Worksheet Menu Bar")
Set cbMenuBar = Application.CommandBars(ГлавноеМеню)
ИмяДобавляемогоМеню = "СМ"
ТекстВызоваПрограммы = "Расчет СМ"
ТекстВызоваСправки = "Инструкция по работе с программой"
ИмяПрограммы = "МакросыСМ.xls"
РасчетнаяПрограмма = "'C:\User\" & ИмяПрограммы & "'!МакросСМ"
ПрограммаЗагрузкиСправки = "'C:\User\" & ИмяПрограммы & "'!ОткрытьСправку"
With cbMenuBar.Controls
With .Add(Type:=msoControlPopup)
.Caption = ИмяДобавляемогоМеню
With .Controls
With .Add(Type:=msoControlButton)
.Caption = ТекстВызоваПрограммы
.OnAction = РасчетнаяПрограмма
.Visible = True
End With
With .Add(Type:=msoControlButton)
.Caption = ТекстВызоваСправки
.OnAction = ПрограммаЗагрузкиСправки
.Visible = True
End With
End With
End With
End With
End Sub 'СоздатьМеню
'====================================
Этот макрос - в файле «Макросы.xls»
Sub МакросСМ()
ActiveCell.Formula = "=5"
End Sub
Макросы были написаны для работы в EXCEL2003. Эту задачу необходимо запустить на компьютере, где установлен EXCEL2007(я с ним еще не работала). Пробный запуск результатов не дал – пользовательское подменю не появилось. Допускает ли эта версия EXCELа создание пользовательского меню с 5-6 (а, возможно, и более) уровнями вложенности, если да, то как это можно сделать?
Вложенный файл «Макросы.xls» должны быть размещены в каталоге «C:\User\»
Спасибо.
Требуемые файлы - во вложении.
Что-то не получается с вложениями - привожу тексты здесь:
Этот макрос - в файле «ФормированиеМеню.xls»
Sub СоздатьМеню()
Dim cbMenuBar As CommandBar
Dim ГлавноеМеню As String
Dim ТекстВызоваПрограммы As String
Dim ТекстВызоваСправки As String
Dim ИмяДобавляемогоМеню As String
Dim ИмяПрограммы As String
Dim РасчетнаяПрограмма As String
Dim ПрограммаЗагрузкиСправки As String
ГлавноеМеню = "Worksheet Menu Bar"
'Set cbMenuBar = Application.CommandBars("Worksheet Menu Bar")
Set cbMenuBar = Application.CommandBars(ГлавноеМеню)
ИмяДобавляемогоМеню = "СМ"
ТекстВызоваПрограммы = "Расчет СМ"
ТекстВызоваСправки = "Инструкция по работе с программой"
ИмяПрограммы = "МакросыСМ.xls"
РасчетнаяПрограмма = "'C:\User\" & ИмяПрограммы & "'!МакросСМ"
ПрограммаЗагрузкиСправки = "'C:\User\" & ИмяПрограммы & "'!ОткрытьСправку"
With cbMenuBar.Controls
With .Add(Type:=msoControlPopup)
.Caption = ИмяДобавляемогоМеню
With .Controls
With .Add(Type:=msoControlButton)
.Caption = ТекстВызоваПрограммы
.OnAction = РасчетнаяПрограмма
.Visible = True
End With
With .Add(Type:=msoControlButton)
.Caption = ТекстВызоваСправки
.OnAction = ПрограммаЗагрузкиСправки
.Visible = True
End With
End With
End With
End With
End Sub 'СоздатьМеню
'====================================
Этот макрос - в файле «Макросы.xls»
Sub МакросСМ()
ActiveCell.Formula = "=5"
End Sub