powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Меню в WORD (как сделать?)
5 сообщений из 5, страница 1 из 1
Меню в WORD (как сделать?)
    #33673058
Mbus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот делаю так
1. пишу макрос
2. вытаскиваю его на панельку

А можно ли как-нить написать макрос так, чтобы он сам формировал панель или меню?

И еще а как сделать выпадающее меню или кнопки на панели? даже в ручную не знаю как.
...
Рейтинг: 0 / 0
Меню в WORD (как сделать?)
    #33673621
Mbus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот написала так:

авторSub podpis_menu()

Set MainMenu = CommandBars("Menu Bar").Controls.AddType:=msoControlPopup, Temporary:=True)
MainMenu.Caption = "MAIN"

Set SubMenu = MainMenu.CommandBar.Controls.Add(Type:=msoControlButton, ID:=1)
With SubMenu
.Caption = "Вставить картинку"
.OnAction = "img"
End With


End Sub

Sub img(fio)

Selection.InlineShapes.AddPicture filename:="D:\img\" + fio + "_g.png", _
LinkToFile:=False, SaveWithDocument:=True

End Sub

В результате выполнения макроса формируется меню MAIN с подменю ВСТАВИТЬ КАРТИНКУ

Если щеокнуть по кнопке, то долна выполнится функция IMG
Если она без параметров, то работает в таком варианте, но если есть параметр (FIO в данном случае), то я не знаю как его передать...что-тов се на синтаксическую ошибку жалуется, т.е. надо правильно написать строку , выделенную красным шрифтом
...
Рейтинг: 0 / 0
Меню в WORD (как сделать?)
    #33673894
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Public Sub CreateMenu()
    Dim cb As CommandBar
    Dim cbMenu As CommandBarControl

    ' Создание строки меню.
    Set cb = Application.CommandBars.Add( _
      Name:="CommandBar1", _
      Position:=msoBarTop, _
      MenuBar:=True, _
      Temporary:=True)
    
    ' Создание выпадающего меню.
    Set cbMenu = cb.Controls.Add( _
      Type:=msoControlPopup, _
      Temporary:=True)
    
    cbMenu.Caption = "Main"
    
    ' Добавление пункта меню.
    With cbMenu.Controls.Add( _
      Type:=msoControlButton, _
      Temporary:=True)
        .Caption = "Вставить картинку"
        
        ' 1. Можно так передать параметр.
        .OnAction = "img"
        .Parameter = "Фамилия"
        
        ' 2. Или так.
        '.OnAction = "img ""Фамилия""'"
    End With
    
    cb.Visible = True
    
    Set cbMenu = Nothing
    Set cb = Nothing
End Sub

Public Sub img( _
  Optional fio As String = "")
    ' 1.
    MsgBox "D:\img\" & _
      Application.CommandBars.ActionControl.Parameter & "_g.png"
    
    ' 2.
    'MsgBox "D:\img\" & _
    '  fio & "_g.png"

    'Selection.InlineShapes.AddPicture Filename:="D:\img\" + fio + "_g.png", _
    '  LinkToFile:=False, SaveWithDocument:=True
End Sub

Хотел бы пару слов добавить. В Word 2000 - второй вариант не прокатывает. В Excel 2000 - второй вариант работает, если установить самый низкий уровень безопасности.
...
Рейтинг: 0 / 0
Меню в WORD (как сделать?)
    #33674318
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во втором варианте одинарную кавычку пропустил.

Код: plaintext
    '.OnAction = "'img ""Фамилия""'"
...
Рейтинг: 0 / 0
Меню в WORD (как сделать?)
    #33675192
Mbus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Меню в WORD (как сделать?)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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