VBA: Ta bort menyer av XLDennis?

Stromma

Board Regular
Joined
Feb 8, 2004
Messages
240
Hej Allihopa!

Jag har en fråga om menyer som jag hoppas att XLDennis kanske kunde titta på.

Jag har fått ett par arbetsböcker av en kollega. I dessa har han tagit bort alla Excelmenyer och skapat en egen meny och ett eget verktygsfält, mkt snyggt. Samtliga böcker (4st) är uppbyggda likadant med liknande menyer/verktygsfält. Han har även tagit bort möjligheten för att stänga arbetsboken med mindre än att man använder den inbyggda knapp som finns i menyn (Application.Quit+Save.Changes) .

Alltihopa fungerar mkt bra så länge man först öppnar ett Excelfönster och sedan arbetsboken. Men om man öppnar två av arbetsböckerna genom att "klicka" direkt på dom (visar två fönster i min aktivitetslist), så får jag ett felmeddelande när jag försöker stänga dom. Detta medför sedan att arbetsboken "havererar" och att den inbyggda menyn försvinner, och därigenom även möjligheten att stänga dom.

Koden för att ta bort /återställa menyerna (skapad av XLDennis?):
Code:
Private Sub Workbook_Open() 
   '© 2002 Alla rättigheter XL-Dennis 
   Dim cbWorkSheet As CommandBar 
   Dim i As Long, j As Long  

   Set cbWorkSheet = Application.CommandBars(1) 

 

   j = 30001 

   For i = 1 To 10 

      j = j + 1 

      If j = 30008 Then GoTo Nasta 

      With cbWorkSheet 

         .FindControl(ID:=j).Delete 

      End With 

Nasta: 

Next i  

End Sub 


Private Sub Workbook_BeforeClose(Cancel As Boolean) 

   '© 2002 Alla rättigheter XL-Dennis 

   Dim cbWorkSheet As CommandBar 

   Set cbWorkSheet = Application.CommandBars(1) 

   cbWorkSheet.Reset 

End Sub

Den biten av koden som felmeddelandet visar är: .FindControl(ID:=j).Delete

Jag har prövat med att posta i vanliga forumet och fick då tipset av DRJ att pröva med: Private Sub Workbook_Activate() - Private Sub Workbook_Deactivate(), vilket jag har gjort utan att få det att fungera. Det fungerar när jag flyttar mellan arbetsböckerna, men när jag ska stänga arbetsböckerna är det likadant.

För egen del kan jag gå runt problemet genom att Workbook_Open och koden för att återställa Excelmenyn utan att ta bort den inbyggda, vilket gör att det går att stänga utan att tappa ändringarna. Men det här är arbetsböcker som vi kommer att maila mellan varandra (samt köra på server), och alla klarar inte av detta.

Om problemt inte går att lösa måste menyn tas bort, vilket givetvis inte kollegan som har gjort boken vill, men det är onödigt om någon av misstag tappar alla ändringar pga av att dom glömmer att öppna i ett separat fönster.

Alla förslag och tips tas tacksamt emot!

/Roger

PS

Ha en skön Valborg :)
 

Excel Facts

Shade all formula cells
To shade all formula cells: Home, Find & Select, Formulas to select all formulas. Then apply a light fill color.
Alltihopa fungerar mkt bra så länge man först öppnar ett Excelfönster och sedan arbetsboken. Men om man öppnar två av arbetsböckerna genom att "klicka" direkt på dom (visar två fönster i min aktivitetslist), så får jag ett felmeddelande när jag försöker stänga dom. Detta medför sedan att arbetsboken "havererar" och att den inbyggda menyn försvinner, och därigenom även möjligheten att stänga dom.

Excel-version?
Vad är det för felmeddelande som erhålls?
 
Upvote 0
Hej Dennis

Tack för ditt snabba svar!

Jag har svarat på det mail du skickade mig!

Måste kila, ha en skön Valborg!

/Roger
 
Upvote 0

Forum statistics

Threads
1,214,644
Messages
6,120,709
Members
448,983
Latest member
Joaquim_Baptista

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top