21. februar 2003 - 09:09Der er
12 kommentarer og 2 løsninger
Værktøjslinjer, formellinje og statuslinje...
Jeg ønsker at lave en kode der undersøger ved "Private Sub Workbook_Open()" hvilke værktøjslinier der er valgt som standard samt om formellinjen og statuslinjen vises. Herefter skal de alle skjules, når regnearket afsluttes ved "Private Sub Workbook_BeforeClose(Cancel As Boolean)" skal standard opsætningen kobles til igen - hvordan gør jeg dette ???
Når de 3 linjetyper skjules skal de ikke påvirke den standard opsætning andre regneark får, der evt. åbnes samtidig med det første ark !!!
Nedenfor er sakset noget tilsvarende, jeg selv har lavet. Hos mig fungerer det udmærket (Excel 2000)
Private Sub Workbook_Open() ' her testes for de menuer, som er benyttes, før Infosys laver om på tingene. menu1 = Application.CommandBars("Standard").Visible menu2 = Application.CommandBars("Formatting").Visible menu3 = Application.CommandBars("Picture").Visible menu4 = Application.CommandBars("Chart").Visible menu5 = Application.CommandBars("External Data").Visible menu6 = Application.CommandBars("Forms").Visible menu7 = Application.CommandBars("Control Toolbox").Visible menu8 = Application.CommandBars("Reviewing").Visible menu9 = Application.CommandBars("PivotTable").Visible menu10 = Application.CommandBars("Drawing").Visible menu11 = Application.CommandBars("Clipboard").Visible menu12 = Application.CommandBars("Visual Basic").Visible menu13 = Application.CommandBars("Web").Visible menu14 = Application.CommandBars("WordArt").Visible
' Her slås alle menuer fra, undtagen Standard If (Not menu1) Then Application.CommandBars("Standard").Visible = True If menu2 Then Application.CommandBars("Formatting").Visible = False If menu3 Then Application.CommandBars("Picture").Visible = False If menu4 Then Application.CommandBars("Chart").Visible = False If menu5 Then Application.CommandBars("External Data").Visible = False If menu6 Then Application.CommandBars("Forms").Visible = False If menu7 Then Application.CommandBars("Control Toolbox").Visible = False If menu8 Then Application.CommandBars("Reviewing").Visible = False If menu9 Then Application.CommandBars("PivotTable").Visible = False If menu10 Then Application.CommandBars("Drawing").Visible = False If menu11 Then Application.CommandBars("Clipboard").Visible = False If menu12 Then Application.CommandBars("Visual Basic").Visible = False If menu13 Then Application.CommandBars("Web").Visible = False If menu14 Then Application.CommandBars("WordArt").Visible = False
' Her testes om Formellinien, Statuslinien og fanebladene vises. Hvis det er tilfældet, skjules ' de formellinie = Application.DisplayFormulaBar statuslinie = Application.DisplayStatusBar faneblad = ActiveWindow.DisplayWorkbookTabs
If formellinie Then Application.DisplayFormulaBar = False If statuslinie Then Application.DisplayStatusBar = False If faneblad Then ActiveWindow.DisplayWorkbookTabs = False
' Her slås menuen til for Infosys. Denne menu bruges til at navigere rundt med Application.CommandBars("Menu til informationsystem").Visible = True menu1 = Application.CommandBars("Menu til informationsystem").Visible
' Her placeres cursoren på første side i celle A1. Herved starter man ved indgangsbilledet Sheets("Forside").Select Range("A1").Select
End Sub
Public menu1 As Boolean Public menu2 As Boolean Public menu3 As Boolean Public menu4 As Boolean Public menu5 As Boolean Public menu6 As Boolean Public menu7 As Boolean Public menu8 As Boolean Public menu9 As Boolean Public menu10 As Boolean Public menu11 As Boolean Public menu12 As Boolean Public menu13 As Boolean Public menu14 As Boolean Public formellinie As Boolean Public statuslinie As Boolean Public faneblad As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Her slås menuen fra igen og slettes, før Infosys lukkes Application.CommandBars("Menu til informationsystem").Visible = False Application.CommandBars("Menu til informationsystem").Delete
' Her tilføjes de menuer, der var synlige før Infosys blev åbnet If (Not menu1) Then Application.CommandBars("Standard").Visible = False If menu2 Then Application.CommandBars("Formatting").Visible = True If menu3 Then Application.CommandBars("Picture").Visible = True If menu4 Then Application.CommandBars("Chart").Visible = True If menu5 Then Application.CommandBars("External Data").Visible = True If menu6 Then Application.CommandBars("Forms").Visible = True If menu7 Then Application.CommandBars("Control Toolbox").Visible = True If menu8 Then Application.CommandBars("Reviewing").Visible = True If menu9 Then Application.CommandBars("PivotTable").Visible = True If menu10 Then Application.CommandBars("Drawing").Visible = True If menu11 Then Application.CommandBars("Clipboard").Visible = True If menu12 Then Application.CommandBars("Visual Basic").Visible = True If menu13 Then Application.CommandBars("Web").Visible = True If menu14 Then Application.CommandBars("WordArt").Visible = True
' Her slås formellinien, statuslinien og fanebladene til igen, hvis de var synlige ' før Infosys blev startet If formellinie Then Application.DisplayFormulaBar = True If statuslinie Then Application.DisplayStatusBar = True If faneblad Then ActiveWindow.DisplayWorkbookTabs = True
Public menu1 As Boolean Public menu2 As Boolean Public menu3 As Boolean Public menu4 As Boolean Public menu5 As Boolean Public menu6 As Boolean Public menu7 As Boolean Public menu8 As Boolean Public menu9 As Boolean Public menu10 As Boolean Public menu11 As Boolean Public menu12 As Boolean Public menu13 As Boolean Public menu14 As Boolean Public formellinie As Boolean Public statuslinie As Boolean Public faneblad As Boolean
Private Sub Workbook_Open() ' her testes for de menuer, som er benyttes, før Infosys laver om på tingene. menu1 = Application.CommandBars("Standard").Visible menu2 = Application.CommandBars("Formatting").Visible menu3 = Application.CommandBars("Picture").Visible menu4 = Application.CommandBars("Chart").Visible menu5 = Application.CommandBars("External Data").Visible menu6 = Application.CommandBars("Forms").Visible menu7 = Application.CommandBars("Control Toolbox").Visible menu8 = Application.CommandBars("Reviewing").Visible menu9 = Application.CommandBars("PivotTable").Visible menu10 = Application.CommandBars("Drawing").Visible menu11 = Application.CommandBars("Clipboard").Visible menu12 = Application.CommandBars("Visual Basic").Visible menu13 = Application.CommandBars("Web").Visible menu14 = Application.CommandBars("WordArt").Visible
' Her slås alle menuer fra, undtagen Standard If (Not menu1) Then Application.CommandBars("Standard").Visible = True If menu2 Then Application.CommandBars("Formatting").Visible = False If menu3 Then Application.CommandBars("Picture").Visible = False If menu4 Then Application.CommandBars("Chart").Visible = False If menu5 Then Application.CommandBars("External Data").Visible = False If menu6 Then Application.CommandBars("Forms").Visible = False If menu7 Then Application.CommandBars("Control Toolbox").Visible = False If menu8 Then Application.CommandBars("Reviewing").Visible = False If menu9 Then Application.CommandBars("PivotTable").Visible = False If menu10 Then Application.CommandBars("Drawing").Visible = False If menu11 Then Application.CommandBars("Clipboard").Visible = False If menu12 Then Application.CommandBars("Visual Basic").Visible = False If menu13 Then Application.CommandBars("Web").Visible = False If menu14 Then Application.CommandBars("WordArt").Visible = False
' Her testes om Formellinien, Statuslinien og fanebladene vises. Hvis det er tilfældet, skjules ' de formellinie = Application.DisplayFormulaBar statuslinie = Application.DisplayStatusBar faneblad = ActiveWindow.DisplayWorkbookTabs
If formellinie Then Application.DisplayFormulaBar = False If statuslinie Then Application.DisplayStatusBar = False If faneblad Then ActiveWindow.DisplayWorkbookTabs = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Her tilføjes de menuer, der var synlige før Infosys blev åbnet If (Not menu1) Then Application.CommandBars("Standard").Visible = False If menu2 Then Application.CommandBars("Formatting").Visible = True If menu3 Then Application.CommandBars("Picture").Visible = True If menu4 Then Application.CommandBars("Chart").Visible = True If menu5 Then Application.CommandBars("External Data").Visible = True If menu6 Then Application.CommandBars("Forms").Visible = True If menu7 Then Application.CommandBars("Control Toolbox").Visible = True If menu8 Then Application.CommandBars("Reviewing").Visible = True If menu9 Then Application.CommandBars("PivotTable").Visible = True If menu10 Then Application.CommandBars("Drawing").Visible = True If menu11 Then Application.CommandBars("Clipboard").Visible = True If menu12 Then Application.CommandBars("Visual Basic").Visible = True If menu13 Then Application.CommandBars("Web").Visible = True If menu14 Then Application.CommandBars("WordArt").Visible = True
' Her slås formellinien, statuslinien og fanebladene til igen, hvis de var synlige ' før Infosys blev startet If formellinie Then Application.DisplayFormulaBar = True If statuslinie Then Application.DisplayStatusBar = True If faneblad Then ActiveWindow.DisplayWorkbookTabs = True
Hvis du istedet ligger koden i Workbook_Activate og Workbook_Deactivate vil det kun gælde for det pågælende ark, d.v.s. at hvis du samtidig åbner et andet ark, vil værktøjslinierne komme tilbage - altså:
Private Sub Workbook_Activate() Application.CommandBars("formatting").Visible = False Application.CommandBars("standard").Visible = False End Sub
Tisvarende vises de igen ved deaktivering
Private Sub Workbook_Deactivate() Application.CommandBars("formatting").Visible = True Application.CommandBars("standard").Visible = True End Sub
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.