Witam,
Istnieją dwie metody rozwiązania Twojego problemu:
1. Wykorzystanie pliku *.xlb, przechowywanego w zależności od wersji MS Office w rożnych katalogach.
Popatrz tutaj: http://office.microsoft.com/en-us/excel/HP030721011033.aspx
2. Napisanie procedury, która będzie w momencie startu Twojego makra tworzyć paski narzędzi i przyciski.
Poniżej mój przykład:
Sub SetToolbar()
'Deklaracja
Dim cbMyToolbar As CommandBar
Dim cbtMyButton As CommandBarButton
Dim cbToolbar As CommandBar
Dim cbtButton As CommandBarButton
Dim bToolbarExists As Boolean, bButtonExists As Boolean
bToolbarExists = False: bButtonExists = False
'Nazwa makra podpietego do przycisku
'oraz nazwa paska narzedzi
Const strNazwaMakra = "nazwa_makra"
Const strToolbarName = "nazwa_paska"
Const strButtonLabel = "Etykieta przycisku"
'Sprawdzanie czy pasek narzedzi i przycisk istnieja
For Each cbToolbar In Application.CommandBars
If cbToolbar.Name = strToolbarName Then
bToolbarExists = True
For Each cbtButton In Application.CommandBars(strToolbarName).Controls
If cbtButton.Caption = strButtonLabel Then bButtonExists = True
Next cbtButton
End If
Next cbToolbar
If bToolbarExists Then
Set cbMyToolbar = Application.CommandBars(strToolbarName)
Else
'dodawanie paska narzedzi
Set cbMyToolbar = Application.CommandBars.Add(strToolbarName)
cbMyToolbar.Position = msoBarTop
End If
'Pasek narzedzi widoczny po wlaczeniu makra
cbMyToolbar.Visible = True
If Not bButtonExists Then
'dodawanie przycisku
Set cbtMyButton = cbMyToolbar.Controls.Add(Type:=msoControlButton)
cbtMyButton.DescriptionText = strButtonLabel
cbtMyButton.Caption = strButtonLabel
cbtMyButton.OnAction = strNazwaMakra
cbtMyButton.Style = msoButtonCaption
End If
Set cbMyToolbar = Nothing
Set cbtMyButton = Nothing
End Sub
Cytat:Jestem tu nowy, więc na początku witam wszystkich.
Potrzebuje pomocy w związku z własnym paskiem narzędzi w Excelu. Mój problem polega na tym, że nie wiem jak przenieść pasek narzędzi wraz z programami przypisanymi do jego przycisków, na inne komputery. Próbowałem używać pliku .xla, ale potrafię dzięki niemu przenieść tylko programy. Pasek narzędzi muszę tworzyć na nowo na każdym komputerze. Jest dla mnie niejasnym sposób przechowywania zapisanych pasków narzędzi i programów VBA w Excelu.
Dodam, że pracuję na win XP i Excel 2003.
Uprzejmie proszę o pomoc w rozwiązaniu tego problemu. Będę wdzięczny za jakiekolwiek wskazówki. |