使用python,Filename Excel Spaces问题运行Macro Win32com

时间:2015-12-02 15:49:20

标签: python excel excel-vba vba

我遇到了使用python / flask从excel运行宏的问题。

如果文件中没有空格,则可以运行宏,如果文件中有空格,我就无法运行。

这里是py文件的代码

    app.route('/process_done', methods=['POST'])    
def runmacros():
     run_macro("Main System FIndx.xlsm!Test_macro.Prueba","..\System\Main Test.xlsm") 


 return render_template('main.jade')

和功能

def run_macro(macroname, filetorun):
        pythoncom.CoInitialize ()
        xlApp = Dispatch('Excel.Application')
        xlWb = xlApp.Workbooks.Open(filetorun)
        xlSht = xlWb.WorkSheets(1)
        xlApp.visible = True
        xlApp.Application.Run(macroname)
        xlWb.Saved = 0
        xlWb.Save()
        xlWb.Close(SaveChanges=True)
        xlApp.application.Quit()

因此,如果文件重命名为" MainTest"当按下按钮模板时,宏会运行,但如果我调用了#34; Main Test"不起作用。

也许解决方案非常简单,但我可以找到它。

提前致谢。

pd:当我尝试运行宏时显示问题,文件打开没有问题。

编辑:

解决

xlApp.Application.Run python上的

并不需要全名,因此我将Main System FIndx.xlsm!Test_macro.Prueba更改为" Test_macro.Prueba"并且工作! :d

1 个答案:

答案 0 :(得分:0)

解决

xlApp.Application.Run python上的

并不需要全名,因此我将Main System FIndx.xlsm!Test_macro.Prueba更改为" Test_macro.Prueba"并且工作! :d