примерно так.
этот код вставляешь в ThisDocument:
Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
CbrInit 'создание кнопки на панели инструментов
End Sub
Sub CbrInit()
Set cbrCommandBars = Visio.Application.CommandBars
On Error Resume Next
Err.Clear
Set cbrCommandBar = cbrCommandBars("My_Toolbar")
If Err.Number = 0 Then Exit Sub 'если тулбар уже создан, то выход
Set cbrCommandBar = cbrCommandBars.add(Name:="My_Toolbar", _
Position:=msoBarTop, Temporary:=False)
cbrCommandBar.Protection = msoBarNoCustomize
cbrCommandBar.Visible = True
Set cbbCommandBarButton = cbrCommandBar.Controls.add(Type:=msoControlButton)
With cbbCommandBarButton
.Caption = "мой код"
.TooltipText = "Запуск"
.tag = "мой код"
.FaceID = 59
.OnAction = "ThisDocument.Main"
End With
End Sub
Sub Main()
здесь код твоей программы
End Sub
Теперь при нажатии на кнопку, запустится твой код. В моем примере это процедура Main.