Avatar billede cwc Nybegynder
21. februar 2003 - 09:09 Der 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 !!!
Avatar billede b_hansen Novice
21. februar 2003 - 09:21 #1
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

ThisWorkbook.Saved = True

    ' ActiveWindow.Close (False)
End Sub
Avatar billede b_hansen Novice
21. februar 2003 - 09:24 #2
Det gik vist for hurtigt med copy/paste......

Under this_workbook kopierer du nedenstående ind:


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

ThisWorkbook.Saved = True

    ' ActiveWindow.Close (False)
End Sub
Avatar billede janvogt Praktikant
21. februar 2003 - 09:28 #3
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
Avatar billede b_hansen Novice
21. februar 2003 - 09:30 #4
Jeg er enig med Jan. Det er mere hensigtsmæssigt at placere rutinerne under Workbook_Activate() og Workbook_Deactivate()


I min kode skal du osse udelade denne line:

ThisWorkbook.Saved = True
Avatar billede cwc Nybegynder
21. februar 2003 - 09:32 #5
Det ser alt sammen rigtigt fornuftigt ud - jeg tester lige...
Avatar billede cwc Nybegynder
21. februar 2003 - 09:40 #6
Mange tak for hjælpen - håber point-fordelingen er ok !!!
Avatar billede janvogt Praktikant
21. februar 2003 - 09:50 #7
Det er helt ok. Pointsystemet virker alligevel ikke :-)
Avatar billede b_hansen Novice
21. februar 2003 - 09:51 #8
osse ok her. tak for point.

Jan> du har ret forsåvidt angår kategorierne, men den samlede optælling virker underligt nok....
Avatar billede janvogt Praktikant
21. februar 2003 - 09:54 #9
Ja, det har du ret i.
Avatar billede cwc Nybegynder
21. februar 2003 - 10:39 #10
Et lille tællægsspørgsmål :
Kan værktøjslinjen "Regneark" ikke skjules ?
Det ses ikke under Vis-Værktøjslinjer men under Tilpas-Værktøjslinjer.
Avatar billede cwc Nybegynder
21. februar 2003 - 10:41 #11
Hvad står der...Et lille tillægsspørgsmål
Avatar billede b_hansen Novice
21. februar 2003 - 10:57 #12
jeg har desværre ikke fundet en løsning på det problem.
Avatar billede janvogt Praktikant
21. februar 2003 - 11:12 #13
Er det selve menulinien øverst du vil fjerne?
Avatar billede cwc Nybegynder
21. februar 2003 - 11:13 #14
Ja, fjerne (skjule) den.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester