2015-12-02 147 views
0

我遇到了一個問題,從一個Excel與python/flask運行一個宏。使用python運行宏Win32com,文件名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」當按下按鈕模板的宏運行,但如果我所謂的「主測試」不起作用。

也許解決方案非常簡單,但我可以找到它。

在此先感謝。

pd:當我嘗試運行宏時顯示問題,文件確實沒有問題地打開。

編輯:

在xlApp.Application.Run蟒蛇解決

不需要全名,所以我改變主系統FIndx.xlsm Test_macro.Prueba爲「Test_macro.Prueba」和作品! ! :d

回答

0

解決

在xlApp.Application.Run蟒並不需要全名,所以我改變主系統FIndx.xlsm Test_macro.Prueba爲「Test_macro.Prueba」和作品! :D