2013-07-03 76 views
1

說我已經在report對象中加載Report WW26blueprint_with_chart_330.xlsm用下面的代碼(print.range在這裏用來測試該工作簿加載):pyvot:我可以從python腳本運行Excel VBA宏嗎?

import xl 
report = xl.Workbook("Report WW26blueprint_with_chart_330.xlsm") 
print report 
print(report.range("A1:E50").get()) 

pyvot documentation我得到的是:

Pyvot寫在Excel的COM API之上。你總是可以得到 底層的COM對象,並進行COM調用自己

我的Excel文件有以下宏:

Macro1 
Масго2 
Macro7 

我可以運行任何上述宏直接從使用python腳本蟒蛇/ pyvot?

回答

1

這爲我做:

report.xlWorkbook.Application.Run('Macro1') 
1

沒有管理與pyvot做,但可以使用pywin32如下進行:

import win32com.client 
xl=win32com.client.Dispatch("Excel.Application") 
xl.Workbooks.Open(Filename="C:\Users\florinescu_eduard\Downloads\\Report WW26blueprint_with_chart_330.xlsm",ReadOnly=1) 
xl.Application.Run("Macro1") 
xl.Workbooks(1).Close(SaveChanges=1) 
xl.Application.Quit() 
xl=0