ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Ribbon UI onAction causes macro to run twice, with warning (https://www.excelbanter.com/excel-programming/405277-ribbon-ui-onaction-causes-macro-run-twice-warning.html)

chelovik

Ribbon UI onAction causes macro to run twice, with warning
 
I have a very simple macro on an Excel2007 workbook, that reads:
Sub MyMacro
msgbox "Hello world"
End Sub

Having added a customUI to this workbook (.xlsm), with a button that reads:
<button id="customButton" label="Run my macro" onAction="MyMacro()" /

.... when I press the button from the ribbon, the macro runs twice, and I get
a dialogbox that shows a heading of: "Microsoft Visual Basic", and a message
that simply reads "400" (a "critical" icon is also displayed)

I've opened the xlsm file (by renaming it as .zip), and have been through
all the xml files, and there is only one reference to the macro throughout
all the files. Also, the workbook itself as only the one macro, no other code.

I have also restarted my PC incase there was a memory leak or other
corruption, but still the same problem

Has anyone had a similar problem? Is there a fix?

I woudl gladly go back to Office2003, but my office have made the shift to
2007, so I must get this code working

Thanking you in advance
Paul

Jim Rech[_2_]

Ribbon UI onAction causes macro to run twice, with warning
 
You don't need the parens in the onAction, although I don't know if they do
any harm. But for sure change your code to this:

Sub MyMacro(control As IRibbonControl)
MsgBox "Hello world"
End Sub

--
Jim
"chelovik" wrote in message
...
|I have a very simple macro on an Excel2007 workbook, that reads:
| Sub MyMacro
| msgbox "Hello world"
| End Sub
|
| Having added a customUI to this workbook (.xlsm), with a button that
reads:
| <button id="customButton" label="Run my macro" onAction="MyMacro()" /
|
| ... when I press the button from the ribbon, the macro runs twice, and I
get
| a dialogbox that shows a heading of: "Microsoft Visual Basic", and a
message
| that simply reads "400" (a "critical" icon is also displayed)
|
| I've opened the xlsm file (by renaming it as .zip), and have been through
| all the xml files, and there is only one reference to the macro throughout
| all the files. Also, the workbook itself as only the one macro, no other
code.
|
| I have also restarted my PC incase there was a memory leak or other
| corruption, but still the same problem
|
| Has anyone had a similar problem? Is there a fix?
|
| I woudl gladly go back to Office2003, but my office have made the shift to
| 2007, so I must get this code working
|
| Thanking you in advance
| Paul



Markus Ohnmacht

Ribbon UI onAction causes macro to run twice, with warning
 
Hello guys,

I get the same problem.
I changed the code as Jim said, but then i get an error that the macro
"MyMacro" can't run and the macro may not available or the macros are
disabled.

Macros are enabled for sure.

It's confusing me.


How can i fix it?


Thanks
Markus


"Jim Rech" wrote:

You don't need the parens in the onAction, although I don't know if they do
any harm. But for sure change your code to this:

Sub MyMacro(control As IRibbonControl)
MsgBox "Hello world"
End Sub

--
Jim
"chelovik" wrote in message
...
|I have a very simple macro on an Excel2007 workbook, that reads:
| Sub MyMacro
| msgbox "Hello world"
| End Sub
|
| Having added a customUI to this workbook (.xlsm), with a button that
reads:
| <button id="customButton" label="Run my macro" onAction="MyMacro()" /
|
| ... when I press the button from the ribbon, the macro runs twice, and I
get
| a dialogbox that shows a heading of: "Microsoft Visual Basic", and a
message
| that simply reads "400" (a "critical" icon is also displayed)
|
| I've opened the xlsm file (by renaming it as .zip), and have been through
| all the xml files, and there is only one reference to the macro throughout
| all the files. Also, the workbook itself as only the one macro, no other
code.
|
| I have also restarted my PC incase there was a memory leak or other
| corruption, but still the same problem
|
| Has anyone had a similar problem? Is there a fix?
|
| I woudl gladly go back to Office2003, but my office have made the shift to
| 2007, so I must get this code working
|
| Thanking you in advance
| Paul




The Code Cage Team[_113_]

Ribbon UI onAction causes macro to run twice, with warning
 

Much better if you state the onaction like this:

.OnAction = ThisWorkbook.name & ("!MyMacro")


--
The Code Cage Team

Regards,
The Code Cage Team
'The Code Cage' (http://www.thecodecage.com)
------------------------------------------------------------------------
The Code Cage Team's Profile: http://www.thecodecage.com/forumz/member.php?userid=2
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=33253


Jim Rech

Ribbon UI onAction causes macro to run twice, with warning
 
OnAction = ThisWorkbook.name & ("!MyMacro")

You cannot put macro code in RibbonX.

Markus, can you send me an example that fails?

--
Jim
"The Code Cage Team" wrote in
message ...
|
| Much better if you state the onaction like this:
|
| OnAction = ThisWorkbook.name & ("!MyMacro")
|
|
| --
| The Code Cage Team
|
| Regards,
| The Code Cage Team
| 'The Code Cage' (http://www.thecodecage.com)
| ------------------------------------------------------------------------
| The Code Cage Team's Profile:
http://www.thecodecage.com/forumz/member.php?userid=2
| View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=33253
|


Markus Ohnmacht[_2_]

Ribbon UI onAction causes macro to run twice, with warning
 
Thanks for the answers,

the solution from "Code cage" doesn't work.

@Jim, I sent u an example file. I hope u can fix my problem :)

Bye
Markus

"Jim Rech" wrote:

OnAction = ThisWorkbook.name & ("!MyMacro")


You cannot put macro code in RibbonX.

Markus, can you send me an example that fails?

--
Jim
"The Code Cage Team" wrote in
message ...
|
| Much better if you state the onaction like this:
|
| OnAction = ThisWorkbook.name & ("!MyMacro")
|
|
| --
| The Code Cage Team
|
| Regards,
| The Code Cage Team
| 'The Code Cage' (http://www.thecodecage.com)
| ------------------------------------------------------------------------
| The Code Cage Team's Profile:
http://www.thecodecage.com/forumz/member.php?userid=2
| View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=33253
|



Jim Rech

Ribbon UI onAction causes macro to run twice, with warning
 
As I emailed Markus, the code was in the ThisWorkbook module. I should have
thought of that...

--
Jim
"Markus Ohnmacht" wrote in
message ...
| Thanks for the answers,
|
| the solution from "Code cage" doesn't work.
|
| @Jim, I sent u an example file. I hope u can fix my problem :)
|
| Bye
| Markus
|
| "Jim Rech" wrote:
|
| OnAction = ThisWorkbook.name & ("!MyMacro")
|
| You cannot put macro code in RibbonX.
|
| Markus, can you send me an example that fails?
|
| --
| Jim
| "The Code Cage Team" wrote
in
| message ...
| |
| | Much better if you state the onaction like this:
| |
| | OnAction = ThisWorkbook.name & ("!MyMacro")
| |
| |
| | --
| | The Code Cage Team
| |
| | Regards,
| | The Code Cage Team
| | 'The Code Cage' (http://www.thecodecage.com)
|
| ------------------------------------------------------------------------
| | The Code Cage Team's Profile:
| http://www.thecodecage.com/forumz/member.php?userid=2
| | View this thread:
http://www.thecodecage.com/forumz/sh...ad.php?t=33253
| |
|
|


Markus Ohnmacht[_2_]

Ribbon UI onAction causes macro to run twice, with warning
 
Thanks a lot Jim,

it's confusing me.
I also tried the code in a Module and it didn't work. But now everything is
fine.


I go home now.

Cya
Markus


"Jim Rech" wrote:

As I emailed Markus, the code was in the ThisWorkbook module. I should have
thought of that...

--
Jim
"Markus Ohnmacht" wrote in
message ...
| Thanks for the answers,
|
| the solution from "Code cage" doesn't work.
|
| @Jim, I sent u an example file. I hope u can fix my problem :)
|
| Bye
| Markus
|
| "Jim Rech" wrote:
|
| OnAction = ThisWorkbook.name & ("!MyMacro")
|
| You cannot put macro code in RibbonX.
|
| Markus, can you send me an example that fails?
|
| --
| Jim
| "The Code Cage Team" wrote
in
| message ...
| |
| | Much better if you state the onaction like this:
| |
| | OnAction = ThisWorkbook.name & ("!MyMacro")
| |
| |
| | --
| | The Code Cage Team
| |
| | Regards,
| | The Code Cage Team
| | 'The Code Cage' (http://www.thecodecage.com)
|
| ------------------------------------------------------------------------
| | The Code Cage Team's Profile:
| http://www.thecodecage.com/forumz/member.php?userid=2
| | View this thread:
http://www.thecodecage.com/forumz/sh...ad.php?t=33253
| |
|
|




All times are GMT +1. The time now is 10:12 AM.

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