Just to add. This is an undocumented feature. As I recall there are at
least some verions of xl - somewhere in the xl2000 service pack n to at least
the first release of xl2002 that do not support this. I don't have
definitive details and I could be wrong, but I recall several post reporting
this feature was failing around the release of those versions.
--
Regards,
Tom Ogilvy
"keepITcool" wrote:
Nigel,
as you may have suspected there's a trick to
passing arguments in OnAction strings :)
.OnAction = "'" & "ExportData ""1"" '"
--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam
Nigel RS wrote in
Hi All
I have built a custom toolbar (code snippet below), the control
button OnAction calls a subroutine with a single parameter.
The subroutine simply displays a MsgBox informing the user of the
status, with a single OK button to cancel the Msgbox. However the
user has to press the OK control twice to cancel the MsgBox. I have
established that subroutine runs twice!
Can anyone explain why this happens and how to prevent it?
code snippet follows....
-------------------------------------------------------------------
Sub BuildTB()
Const tbName = "CFAM_TB"
Dim NewMenuBar As CommandBar
Dim NewMenu As CommandBarControl
Dim NewItem As CommandBarControl
Call RemoveMenus(tbName)
Set NewMenuBar = CommandBars.Add(MenuBar:=False)
With NewMenuBar
.Name = tbName
.Visible = True
With .Controls.Add(Type:=msoControlButton, _
temporary:=True)
.FaceId = 2817
.OnAction = "ExportData(1)"
.Caption = "Send All"
.Style = msoButtonIconAndCaption
End With
.Position = msoBarTop
.Protection = msoBarNoChangeVisible + _
msoBarNoResize + _
msoBarNoChangeDock + _
msoBarNoCustomize
End With
End Sub