/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
excel og værktøjslinjer
Fra : Mainemarks


Dato : 01-07-04 12:39

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

 
 
Leo Heuser (06-07-2004)
Kommentar
Fra : Leo Heuser


Dato : 06-07-04 10:11

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




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste