All Forums
 Категория Visio
 Форум Вопросы и ответы
 Добавление пункта меню
Author Previous Topic Topic Next Topic  

SOKOL

Russia
5 Posts

Posted - 06/02/2006 :  13:08:28
Купил по VBA книжку, т.к. появилась нужда вставить доп меню с возможностью запуска приложений. Переписал макрос - в Exel работает, в Visio никак, там обьекты подругому называются помогите кто чем.
Private Sub WorkBook_Open()
MenuBuilder
End Sub

Private Sub WorkBook_BeforeClose(Cancel As Boolean)
MenuKiller
End Sub

Private Sub MenuBuilder()
Dim cdMenuBar As CommandBar
Set cdMenuBar = Application.CommandBars.Add(Name:="?????????????", _
Position:=msoBarTop, _
MenuBar:=True, _
Temporary:=True)
With cdMenuBar
.Visible = True
With .Controls
With .Add(Type:=msoControlPopup)
.Caption = "Файл"
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Новый"
.OnAction = "NewDoc"
End With
With .Add(Type:=msoControlButton)
.Caption = "Сохранить"
.OnAction = "SaveDoc"
End With
With .Add(Type:=msoControlButton)
.Caption = "Выход"
.OnAction = "ExitApp"
End With
End With
End With
End With
End With
End Sub

Sub MenuKiller()
On Error Resume Next
Application.CommandBars("МояСтрокаМеню").Delete
On Error GoTo 0
End Sub

Sub Auto_Open()
WorkBook_Open
End Sub

immortal

Russia
391 Posts

Posted - 06/02/2006 :  14:46:01  Visit immortal's Homepage
рекомендую посмотреть "дизайнера" который входит в пакет васика6

вот собственно мой дизайнер http://www.immortal.vstu.edu.ru/Connect.rar

можно разобрать его, есть несколько комментов там

визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 06/02/2006 14:46:55
Go to Top of Page

brace

Russia
358 Posts

Posted - 06/02/2006 :  16:19:53
найди через поиск в хелпе визио VBA Editor статью :

SetCustomMenus method

This Microsoft Visual Basic for Applications (VBA) macro shows how to add a menu and menu item to the drawing window menu set...
Go to Top of Page

ivan

31 Posts

Posted - 06/14/2006 :  15:59:05
Menus: Add Items to the File menu.

Public Sub MenuItem_Add()

Dim uiObj As Visio.UIObject
Dim visMenuSets As Visio.MenuSets
Dim visMenuSet As Visio.MenuSet
Dim visMenus As Visio.Menus
Dim visMenu As Visio.Menu
Dim visMenuItems As Visio.MenuItems
Dim visMenuItem As Visio.MenuItem

Set uiObj = Visio.Application.BuiltInMenus
Set visMenuSets = uiObj.MenuSets
' Get the Visio object context menu set.
Set visMenuSet = visMenuSets.ItemAtID(visUIObjSetDrawing)
Set visMenus = visMenuSet.Menus
' Get the file menu from the menus collection.
Set visMenu = visMenus.Item(0)
' Get the items collection from the file menu
Set visMenuItems = visMenu.MenuItems

' Add Example Menu Item to the File menu in the 4th position
Set visMenuItem = visMenuItems.AddAt(3)
visMenuItem.Caption = "Example"
visMenuItem.State = Visio.visButtonUp

' Have Example run the HelloWorld Sub procedure
visMenuItem.AddOnName = "ThisDocument.HelloWorld"

' Set the new menus.
Visio.Application.SetCustomMenus uiObj
' Tell Visio to use the new UI when the document is active.
ThisDocument.SetCustomMenus uiObj
End Sub
Go to Top of Page

brace

Russia
358 Posts

Posted - 06/14/2006 :  16:50:23
во человек... 12 дней молчал и выдал...
дык получилось добавить пункт в меню или нет ???
Go to Top of Page

ivan

31 Posts

Posted - 06/15/2006 :  18:30:20
я не тот человек, я просто посторонний, тему открывал другой визажист
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)