View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Ron de Bruin Ron de Bruin is offline
external usenet poster
 
Posts: 11,123
Default Procedure works from VBA but not the Ribbon

Hi JeremyJ

You must use it like this

'Callback for xyz onAction
Sub xyz(control as IRibbonControl)

End Sub


There is button in the UI editor that you can use

Generate Callbacks : This will create macros(callbacks) for each onAction you have in
the RibbonX. Select all callbacks and copy them in a normal module in your workbook.


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"JeremyJ" wrote in message ...
I get this "Incorrect Function" error and I have narrowed the problem down to
it being only 2 lines of VBA code.

Sub xyz()
ActiveWorkbook.Save
End
End Sub

I need the "End" line of code to clear all variables (there are hundreds of
them). When I run this straight from VBA there are no problems but when I run
the procedure from a ribbon button the "Incorrect Function" error pops up.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
<ribbon
<tabs
<tab id="MyCustomTab" label="My Tab" insertAfterMso="TabHome"
<group id="customGroup1" label="Group 1"
<button id="customButton1" label="Button 1" size="normal"
onAction="xyz" /
</group
</tab
</tabs
</ribbon
</customUI

Sub xyz(control As IRibbonControl)
ActiveWorkbook.Save
End
End Sub

The code runs find when either one is absent but not when they run together.

Is there a fix to this problem?
or
Is there another way I can clear all variables with out typing "X=Empty" for
each one?