Hej
Dette problem løses ved at danne værktøjslinjen,
når projektmappen åbnes og slette den, når
projektmappen lukkes.
Her er noget kode, der viser principperne:
1. Gå til VBA editoren med <Alt><F11>
2. Vælg Insert > Module på menulinjen
3. Kopiér og indsæt nedenstående kode i det højre vindue.
4. Indsæt det navn, du vil give værktøjslinjen i stedet for
"Testo" i Public Const MyBarName As String = "Testo"
6. Indtast tallet for de knapbilleder, du ønsker i .FaceId
(Besøg
http://www.j-walk.com/ss og søg efter "faceid"
(uden citationstegn) for at se, hvordan du kan finde de
forskellige knapbilleder.)
Option Explicit
Public Const MyBarName As String = "Testo"
Sub CreateCommandBar(MyBar As String)
'Leo Heuser, 6-7-2004
Dim CBar As CommandBar
On Error Resume Next
Set CBar = CommandBars(MyBar)
' Hvis den allerede eksisterer
If Err.Number = 0 Then
CBar.Visible = True
GoTo Finito
End If
On Error GoTo Finito
With Application.CommandBars.Add
.Name = MyBarName
.Visible = True
.Position = msoBarLeft
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Dette er knap1"
.OnAction = "TestKnap1"
.FaceId = 7
End With
With .Add(Type:=msoControlButton)
.Caption = "Dette er knap2"
.OnAction = "TestKnap2"
.FaceId = 34
End With
End With
End With
Finito:
If Err.Number > 0 Then
MsgBox "Der er opstået følgende fejl:" & _
vbCr & Err.Description
End If
On Error GoTo 0
End Sub
Sub TestKnap1()
MsgBox "Knap1"
End Sub
Sub TestKnap2()
MsgBox "Knap2"
End Sub
Sub DeleteBar(MyBar As String)
On Error Resume Next
Application.CommandBars(MyBar).Delete
On Error GoTo 0
End Sub
7. Dobbeltklik "ThisWorkbook" for projektmappen
i projekvinduet (øverste venstre vindue).
8. Kopiér og indsæt nedenstående kode:
Private Sub Workbook_Open()
Call CreateCommandBar(MyBarName)
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call DeleteBar(MyBarName)
End Sub
9. Vælg menupunktet Tools > References og sæt hak i
"Microsoft Office 10.0 Object Library" (eller 9.0)
Dette skal gøres for at VBA skal kunne genkende
konstanten "msoBarLeft"
10. Gå tilbage til projektmappen med <Alt><F11>, gem den
og luk den.
Næste gang du åbner projektmappen træder det i kraft.
Kom tilbage, hvis der opstår problemer med at få det
til at virke.
--
Med venlig hilsen
Leo Heuser
Followup to newsgroup only please.
"Mainemarks" <mainemarks@hotmail.com> skrev i en meddelelse
news:df65c5d1.0407010338.1ad0e07a@posting.google.com...
> Hej
> Mangler lige lidt hjælp til:
> I følge hjælp skulle det være nemt at lave værktøjslinier.
> Er det også. Har fået lavet mange, men de følger EXCEL projektmappe.
>
> Hvordan laver jeg det således at 1 bestemt værktøjslinie følger 1 bestemt
dokument?
>
> Dvs. den bliver KUN vist i et bestemt regneark/projektmappe.
>
> ~Mainemarks