Find OnAction property

K

Kemosabe

How do I determine the value of the OnAction property of an existing
(built-in or custom) commandbar item? I would like to do something
like this:

Public Sub ShowOnAction()

MsgBox Application.CommandBars("File").Controls("Print
Preview").OnAction

End Sub

This sub does not fail, but it returns nothing.

I would also like to intercept the subroutine called by the OnAction
property and replace it like in this Word procedure:

http://www.mvps.org/word/FAQs/MacrosVBA/InterceptSavePrint.htm

Can that be done in Excel?
 
T

Tom Ogilvy

Your code should work for a custom commandbar item that has been assigned an
onaction macro. Builtin controls don't execute macros, so they don't have
anything assigned to the onaction property (although you can assign a macro
to the onaction property to override normal behavior). There isn't any
intercepting in Excel beyond what I have stated.

In excel you also have BeforeSave, BeforeClose and BeforePrint events at the
workbook and application level if you want to instantiate application level
events.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top