How do I call an Excel VBA script using xlwings v0.10
<p>I used to use the info in this question to run a VBA script that does some basic formatting after I run my python code.</p>

<p><a href="http://stackoverflow.com/questions/30308455/how-do-i-call-an-excel-macro-from-python-using-xlwings">How do I call an Excel macro from Python using xlwings?</a></p>

<p>Specifically I used the first update.</p>

<pre><code>from xlwings import Workbook, Application
wb = Workbook(...)
Application(wb).xl_app.Run("your_macro")
</code></pre>

<p>Now I'm using v0.10.0 of xlwings and this code no longer works.</p>

<p>When I try the suggested new code for v0.10.0:</p>

<pre><code>wb.app.macro('your_macro')
</code></pre>

<p>Python returns an object: </p>

<pre><code>&lt;xlwings.main.Macro at 0x92d3198&gt;
</code></pre>

<p>and my macro isn't run in Excel.</p>

<p>The documentation (<a href="http://docs.xlwings.org/en/stable/api.html#xlwings.App.macro" rel="nofollow">http://docs.xlwings.org/en/stable/api.html#xlwings.App.macro</a>) has an example that is a custom function but I have a script that does several things in Excel (formats the data I output from python, adds some formulas in the sheet, etc.) that I want to run.</p>

<p>I'm sure I'm missing something basic here.</p>

<p><strong>Update</strong>
Based on Felix Zumstein's suggestion, I tried:</p>

<pre><code>import xlwings as xw
xlfile = 'model.xlsm'
wb = xw.Book(xlfile)
wb.macro('your_macro')
</code></pre>

<p>This returns the same thing as wb.app.macro('your_macro'):</p>

<pre><code>&lt;xlwings.main.Macro at 0x92d05888&gt;
</code></pre>

<p>and no VBA script run inside Excel.</p>

<p>You need to use <code>Book.macro</code>. As your link to the docs says, <code>App.macro</code> is only for macros that are not part of a workbook (i.e. addins). So use:</p>

<pre><code>wb.macro('your_macro')
</code></pre>

python xlwings