ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macros i xla-files get incorrect path (https://www.excelbanter.com/excel-programming/295662-macros-i-xla-files-get-incorrect-path.html)

Roffe

Macros i xla-files get incorrect path
 
I've made an Excel-sheet, added a toolbar with buttons which ar
assigned to macros in the Excel-sheet. Then I save it as an Excel-Addi
(xla). When I look at it, there is just the macro name assigned to th
button. But, when I send the XLA-file to an associate and he puts it i
his XLSTART-folder, the macros assigned are no longer just the macr
name. Instead ther is a path and filename which is the XLSTART-folde
in my PC.

How do I get rid of the path?

Regards Roff

--
Message posted from http://www.ExcelForum.com


Bernie Deitrick

Macros i xla-files get incorrect path
 
Roffe,

Have code in your addin that creates the
commandbar on opening, and deletes it on close.

Here's my standard instructions/reply:

The best option is to create the commandbar on the fly, when the workbook is
opened, and delete the commandbar when the workbook is closed.
Follow these instructions and example code.

In the workbook's Thisworkbook object code module, place the following code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteCommandbar
End Sub

Private Sub Workbook_Open()
CreateCommandbar
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
On Error GoTo NotThere
Application.CommandBars("My Bar").Visible = True
Exit Sub
NotThe
CreateCommandbar
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars("My Bar").Visible = False
End Sub

In a regular code module, place the following:

Dim myBar As CommandBar
Dim myButton As CommandBarButton

Sub CreateCommandbar()

On Error Resume Next
DeleteCommandBar

Set myBar = Application.CommandBars.Add("My Bar")
With myBar
.Position = msoBarTop
.Visible = True
.Enabled = True
Set myButton = .Controls.Add(Type:=msoControlButton, ID:=23)
With myButton
.Caption = "Hello"
.Style = msoButtonIcon
.FaceId = 137
.Enabled = True
.OnAction = "SayHello"
End With
End With

End Sub

Sub DeleteCommandBar()
'Delete the commandbar if it already exists
On Error Resume Next
Application.CommandBars("My Bar").Delete
End Sub

Sub SayHello()
MsgBox "Hello there"
End Sub

You can add as many buttons or other menu items as you like.

HTH,
Bernie
MS Excel MVP

"Roffe " wrote in message
...
I've made an Excel-sheet, added a toolbar with buttons which are
assigned to macros in the Excel-sheet. Then I save it as an Excel-Addin
(xla). When I look at it, there is just the macro name assigned to the
button. But, when I send the XLA-file to an associate and he puts it in
his XLSTART-folder, the macros assigned are no longer just the macro
name. Instead ther is a path and filename which is the XLSTART-folder
in my PC.

How do I get rid of the path?

Regards Roffe


---
Message posted from http://www.ExcelForum.com/





All times are GMT +1. The time now is 11:19 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com