24. januar 2007 - 10:30Der er
7 kommentarer og 3 løsninger
Værktøjslinie ?
Jeg har lavet min egen værktøjslinie i Excel.
Den fjernes ved at man lukker den pågældende ark som værktøjslinien er vedhæftet.
Problemet er hvis jeg åbner to versioner af excel-arket og lukker den ene igen. Så forsvinder min værktøjslinie jo også selvom jeg satdig skal bruge den.
Jeg kan ikke højreklikke i toppen af excel og få den frem igen. jeg er nødt til at lukke arket og åbne det igen.
Er der en løsning på dette.
(værktøjslinien skal forsvinde hver gang man lukker arket, den må ikke blive tilbage)
Jeg vil også gerne have en forklaring på hvorfor man ikke kan højreklikke på toppen af Excel og vælge sin værktøjslinie på listen, ligesom med standardværktøjslinierne i Excel.
Det ideelle havde været at se om et at de andre arbejdsområder havde værktøjslinjen tilknyttet, men det kan man ikke.
Citat fra Excel Visual Basic Reference (2000):
CommandBars Property
...
There is no programmatic way to return the set of command bars attached to a workbook.
Man må falde tilbage på en løsning der involverer en liste af arbejdsområder der bruger værktøjslinjen, der så må være global.
Option Explicit Private Function inList(ByVal actName As String) Dim customBooks, name, found customBooks = Array( _ "Periodeantal.xls", _ "Pointregnskab.xls") inList = False For Each name In customBooks If actName = name Then inList = True Exit For End If Next End Function Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim app As Application, bks As Workbooks, bk As Workbook Dim idx, cnt As Integer Dim actName As String Dim inUse As Boolean Set app = ActiveWorkbook.Parent ' Find Excel.Application actName = ActiveWorkbook.name Set bks = app.Workbooks inUse = False cnt = bks.Count For idx = 1 To cnt Set bk = bks.Item(idx) If bk.name <> actName Then If inList(bk.name) Then inUse = True End If Next idx If Not inUse Then Application.CommandBars("Lokale værktøjer").Visible = False End Sub Private Sub Workbook_Open() Application.CommandBars("Lokale værktøjer").Visible = True End Sub
Makro'en skal indsættes i alle de arbejdområder der bruger værktøjslinjen "Lokale værktøjer". Array'et "customBooks" skal indeholde alle navnene på disse arbejdområder.
1. Tast Alt-F11 for at åbne Visualbasic fra Excel 2. Dobbeltklik på arbejsområdet. 3. Indsæt makro'en i ThisWorkbook (code)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.