ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   SubMenu .action argument (https://www.excelbanter.com/excel-worksheet-functions/97982-submenu-action-argument.html)

[email protected]

SubMenu .action argument
 
I have created a customized menu with submenus which I want to have run
the sub procedure "EnterInvoice" that passes a variable "VendorName"
from the .OnAction part of the With SubMenu CommandButton to the macro.
I have declared the argument in the sub as:

Sub EnterInvoice(ByVal VendorName)

but can't figure out how to do it.

I've tried different versions of the following but can not get the
syntax to work.

Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
With SubMenuItem
.Caption = "Co&mmissary Order"
.OnAction = "EnterInvoice"(Commissary)
End With

Ideas?

Thanks


Jim Cone

SubMenu .action argument
 
Assigning an argument worked well in xl97,
but the rules were changed in later versions. It can still work,
but I just quit using arguments with the OnAction property.
One way to get an argument to a sub, is to assign it to
the Tag property of the control...

With SubMenuItem
.Caption = "Co&mmissary Order"
.OnAction = "EnterInvoice"
.Tag = "Commissary"
End With

Then in the called sub, extract the Tag from the "ActionControl"...

Sub EnterInvoice()
Dim VendorName as String
VendorName = Application.CommandBars.ActionControl.Tag
'More
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



wrote in message ups.com...
I have created a customized menu with submenus which I want to have run
the sub procedure "EnterInvoice" that passes a variable "VendorName"
from the .OnAction part of the With SubMenu CommandButton to the macro.
I have declared the argument in the sub as:

Sub EnterInvoice(ByVal VendorName)
but can't figure out how to do it.
I've tried different versions of the following but can not get the
syntax to work.
Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
With SubMenuItem
.Caption = "Co&mmissary Order"
.OnAction = "EnterInvoice"(Commissary)
End With
Ideas?
Thanks


[email protected]

SubMenu .action argument
 
Perfect,

Thanks Jim



All times are GMT +1. The time now is 07:10 PM.

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