Re: Add-In Keyboard Shortcut
- From: "Peter T" <peter_t@discussions>
- Date: Thu, 12 Oct 2006 21:35:16 +0100
Hi Mark,
From Auto_Open should add a MyMacro button to the Tools menu and optionallydelete any old MyMacro that wasn't deleted in a previous Auto_Close (if
indeed you want to delete menu on close). It also adds a version id to the
button's tag property.
Sub Auto_Open()
MyMenu True, 123
End Sub
Sub Auto_Close()
MyMenu False
End Sub
Sub MyMenu(bCreate As Boolean, Optional ver)
Dim cbcTools As CommandBarControl
Dim cbcNew As CommandBarControl
On Error Resume Next
'set a ref to Tools
Set cbcTools = _
Application.CommandBars("Work*** Menu Bar").FindControl(Id:=30007)
'delete any/all MyMacro buttons
Do
cbcTools.Controls("MyMacro").Delete
Loop Until Err.Number
On Error GoTo 0
If bCreate Then
' you might not want temporary:=True
Set cbcNew = cbcTools.Controls.Add(Type:=1, temporary:=True)
cbcNew.Caption = "&MyMacro"
cbcNew.OnAction = "MyMacro"
cbcNew.Tag = "MyVer" & ver
End If
End Sub
Sub MyMacro()
MsgBox "MyMacro"
End Sub
Regards,
Peter T
PS I accidently posted this earlier today in another thread!
"mvyvoda" <mvyvoda@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:1E8A6D44-0FE9-41AE-A9D4-35ABE6EFB2A9@xxxxxxxxxxxxxxxx
Peter T,than
Haha, sounds like you have a better understanding of this menu dilemma
I do. I'm afraid I would struggle for days trying to understand theadding a
complexity of your answer. closed events vs. open, tag properties, etc. i
have an unfortunately long-ish AddMenu module. What are the chances of you
taking a peek at it? Is that asking too much of youru time and energy?
Thanks,
Mark
"Peter T" wrote:
you say it's unconventional to have an entire module dedicated to
nowmenu (AddMenu).
No I didn't mean that (an entire module etc). I meant unusual to have a
shortcut to a procedure that in turn adds menu item(s), though I think I
deletingunderstand what you are doing.
I would suggest a different approach, and I'm assuming you are not
idthe menus in the close event. In the tag property of your menus write
something that identifies your xla version, an id. In the open event try
setting a reference to your menus (under On Error Resume Next). If the
course ifrefers to an old version delete it and create new menu(s). Also of
runthe menu doesn't exist create the menu.
Regards,
Peter T
"mvyvoda" <mvyvoda@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:6024A9C2-67B4-434A-97C1-8DCD7FFEDB05@xxxxxxxxxxxxxxxx
From the users standpoint, I have a series of macro's that can only
However,from
a menu (as opposed to going into the code and running the macro).
thiseach iteration of my .xla file (which stores the macro's) I change
great!) tomenu.
So, I want to be able to automatically (via ctrl+shift+d sounds
adding achange their pre-existing menu to the current one i worked on.
you say it's unconventional to have an entire module dedicated to
withinmenu (AddMenu). You also say you think it wise to add a menu from
follow...another module. Is that what you're saying? I'm not sure if I
follow-upthis
line of thinking.
I also think i'm in way over my head :-/ But, it's pretty close....
thanks a lot for your time and effort!!!!,
-m
"Peter T" wrote:
I'm glad you've got it working but not sure I understand your
proc,question.
You need to run the code that assigns the shortcut to your AddMenu
bothneedtypically from an open event which might also add a menu. There's no
least Ifor the proc to have run once before it will work from the shortcut.
It's unusual to have a shortcut that runs code to add menu items, at
assume that's what AddMenu does. More conventional would be to have
procedurethe
OnAction property of a menu item and your shortcut linked to a
do Iquestion. Ithat starts some functional aspect of your addin.
Regards,
Peter T
"mvyvoda" <mvyvoda@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:C83E9F19-731B-4E59-941E-128ED186DC7B@xxxxxxxxxxxxxxxx
oh... I misnamed AddMenu. It works now, however I have a final
situationhave a scenario whereby I need this ctrl+shift+D to work in a
where
someone has never ran the AddMenu routine. Is this possible? Or,
also, ihave
to
run AddMenu with the added ctrl+shift+D code before they can usectrl+shift+D?
ctrl+shift+D
If you follow?
Thanks,
-m
"mvyvoda" wrote:
I got rid of the menu already in place to test to see if the
would work if only personal.xla was in place and never ran.
namesdid
rename the file, to no avail.
I don't have any other macro's that are similarly named.
AddMenu is a pretty typical routine that merely adds a menu,
workbookit
and
places arguments (attached to macros of course) within the menu.
Peter, I really appreciate all your help!!,
-m
"Peter T" wrote:
Why do you "get rid of the menu already in place"
Is AddMenu a Sub with no arguments
Do you have a similarly named AddMenu sub in any other
so(incl
addins), if so did you prefix the way I suggested.
Apart from your Personal.xla do you also have Personal.xls, if
(buttry
renaming the addin.
Regards,
Peter T
"mvyvoda" <mvyvoda@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5047FA80-1A39-40C9-98E5-662C086183DB@xxxxxxxxxxxxxxxx
Peter,
When I do this, and get rid of the menu already in place
foundrun
your
code)
I get an error:
The macro" C:\..\AddIns\personal.xla'!AddMenu' cannot be
maypossibility
do you what this means?
Thanks,
-m
"Peter T" wrote:
Application.OnKey "+^D", "MyMacro"
This should create a shortcut Shift-Ctrl-D. If there's any
ThisWorkbook.Name &MyMacro may exist in any other workbook prefix with
"!".
Call it from an Open event.
Not sure about naming your addin "Personal.xla" if there
messagealso
be a
Personal.xls open, guess it's OK but I wouldn't.
Regards,
Peter T
"mvyvoda" <mvyvoda@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
needC:\Documentsnews:DC406180-E22C-41BC-B5D9-7C3613A6D056@xxxxxxxxxxxxxxxx
i am using an add-in to store macro's ("personal.xla" in
and
Settings\mvyvoda\Application Data\Microsoft\AddIns). I
to
macrohave a
keyboard shortcut to one fuction within this add-in. The
list
(Alt-F8)
does not list any macro's in personal.xla.
i'm not even sure where to start.
thanks,
-m
.
- References:
- Re: Add-In Keyboard Shortcut
- From: Peter T
- Re: Add-In Keyboard Shortcut
- From: Peter T
- Re: Add-In Keyboard Shortcut
- From: mvyvoda
- Re: Add-In Keyboard Shortcut
- From: mvyvoda
- Re: Add-In Keyboard Shortcut
- From: Peter T
- Re: Add-In Keyboard Shortcut
- From: mvyvoda
- Re: Add-In Keyboard Shortcut
- From: Peter T
- Re: Add-In Keyboard Shortcut
- From: mvyvoda
- Re: Add-In Keyboard Shortcut
- Prev by Date: Re: My .xla custom menu items doesn't show up when using 3rd party software
- Next by Date: Re: Return to excel from vbe
- Previous by thread: Re: Add-In Keyboard Shortcut
- Next by thread: Re: Add-In Keyboard Shortcut
- Index(es):