Create an .xla

  • Thread starter Dominique Feteau
  • Start date
D

Dominique Feteau

I have a couple macro's that i'd like to have automatically show up on other
users pc's as a file menu item instead of inserting them manually at each
desk. I was able to create the file menu item at my own desk easily using
Tools -> Customize, but I dont want to go to each person's desk to do so. I
use a couple .xla's right now, including ASAP Utilties for Excel.

Is doing something like this easy to do, or would it be less aggravating to
go to each person's desk and doing it manually.

Dominique
 
B

Bigwheel

Hi Dominique

Yes, this is relatively easy, assuming you are OK with writing the code to
create additions to the menu bar (if not let us know!)
Wrap the code in an auto_open subroutine (and some remove menu code in an
auto_close sub)
Save the code as a .xla file and you're almost there. Next problem is
distribution as the .xla needs to go in the AddIns folder on each of your
user's pc's, but you've probably got this covered anyway ...
 
D

Dominique Feteau

Thanx for the response Bigwheel. To be honest, I dunno what I'd do without
this board. I will need some help with that code. I'm a beginner with
writing the code, but can understand what the code is doing once it's been
written.

Thanks again
Dominique
 
B

Bigwheel

OK. Try this as an example:-

Sub auto_open()
Set myMenuBar = CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, _
Before:=8, Temporary:=True)
newMenu.Caption = "Wor&k"
Set ctrl1 = newMenu.Controls _
.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "Travel Claim"
ctrl1.TooltipText = "Travel Claim"
ctrl1.Style = msoButtonIcon
ctrl1.OnAction = "LoadTandS" 'name of subroutine to run for this
selection
Set ctrl2 = newMenu.Controls _
.Add(Type:=msoControlButton, ID:=1)
ctrl2.Caption = "Time Sheet"
ctrl2.TooltipText = "Time Sheet"
ctrl2.Style = msoButtonCaption
ctrl2.OnAction = "LoadTimesheet" 'name of subroutine to run
End Sub

Sub auto_close()
Application.CommandBars("Worksheet Menu Bar").Controls("Work").Delete
End Sub
 
Top