Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Меню в Excel.. / 5 сообщений из 5, страница 1 из 1
04.11.2003, 02:12
    #32314244
Меню в Excel..
Расскажите, можно ли в Excel добавить свой пункт меню и навесить на него действие? (вызов сторонней программы).
Надо чтоб меню было всегда, вне зависимости, какой документ загружен..
Спасибо..
...
Рейтинг: 0 / 0
04.11.2003, 09:42
    #32314354
Романов
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в Excel..
http://www.firststeps.ru/vba/excel/r.php?68
http://www.firststeps.ru/vba/excel/r.php?69
...
Рейтинг: 0 / 0
05.11.2003, 14:09
    #32316130
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в Excel..
Иногда целесообразно вставить пункты меню в контекстно-зависимое меню.
Вот пример "из жизни":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Public Sub CreatePropMenu()
Dim p As CommandBar         'панели инструментов
Dim t As CommandBarControl  'пункты меню в этих панелях
For Each p In Application.CommandBars           'перебираем все панели инструментов
    If InStr(1, p.Name, "Cell") > 0 Then        'и ищем панель  "Ячейка" :
        For Each t In p.Controls                'если там есть п.меню "Пропись",
            If t.Caption = PropMnuName Then Exit Sub   'то и остальные пункты уже встроены.
        Next t                                  'п.меню "Пропись"не найден.
        With p.Controls                         'поэтому добавляем его и остальные:
             Set CntProp = .Add(msoControlButton)
             With CntProp
                  .Caption = CntPMnuName
                  .TooltipText =  "К-во прописью содержимого активной ячейки" 
                  .OnAction =  "CountProp" 
                  .Visible = True
             End With
             Set SummProp = .Add(msoControlButton)
             With SummProp
                  .Caption = SumPMnuName
                  .TooltipText =  "Сумма прописью содержимого активной ячейки" 
                  .OnAction =  "SumProp" 
                  .Visible = True
             End With
         End With
         MsgBox  "Можно выводить суммы прописью"  & vbCrLf & _
                 "под суммой-числом в ячейке с курсором" , _
                vbInformation + vbOKOnly,  "Add-in 'Пропись'" 
         Exit Sub           'мавр может уходить...
    End If
Next p
End Sub
...
Рейтинг: 0 / 0
07.11.2003, 03:20
    #32317714
Меню в Excel..
Я не спец по ВБ, но, как я понял, это все надо исполнить из VBA.
А мне бы желательно зарегестировать новый пункт меню при инсталляции - написать прогу к-я все это создает и запустить ее при установке.
Покажите, как это все на чистом ВБ! Очень надо, а знаний - ноль..
...
Рейтинг: 0 / 0
07.11.2003, 12:34
    #32317817
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в Excel..
VBA - это среда разработки программ на VB, встраиваемых в Application
(например, Corel или AutoCAD - если MS Office недостаточно).
Эти программы хранятся в форматах соответствующих приложений.
Программы устанавливаются при наступлении события Document_Open
(Document имеет разные значения - в зависимости от приложения).
В частности, для Excel'а это - Workbook.
Однократно инсталлировать панель можно, поместив исполняемый код в библиотеку. Для Excel'а простейшая библиотека - надстройка, помещённая в стандартную папку Library.
Панель инструментов также зависит от приложения, все панели перечислены
в Application.CommandBars. Поэтому требование

Надо чтоб меню было всегда, вне зависимости, какой документ загружен
выполнимо для документов одного Application.
все на чистом ВБ (т.е. в IDE VB6) тоже можно, но код-то надо хранить в Workbook'е, более того, в определённом объекте книги!
Поэтому и разрабатывать код целесообразнее в VBE...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Меню в Excel.. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]