尝试通过com / pywin32从Python运行Excel-Solver时出错
我试图通过python32在python中运行Excels Solver加载项:
import win32com.client from win32com.client import constants as c app = Dispatch("Excel.Application") app.Visible = True app.Workbooks.Open(r'C:\path\to\testsolver.xlsm') app.Run("runsolver")
..但得到以下错误:
"Cannot run the macro 'runsolver'. The macro may not be available in this workbook or all macros may be disabled"
我意识到这是一个古老的,但如果这仍然有价值的问题在这里可能是解决scheme不会自动加载时创buildExcel OLE对象。 按照devise,加载项必须手动加载才能在Excel OLE对象中使用。
您可以通过检查OLE创build的实例并转到“数据”(Data)选项卡,并确认Solver没有出现,像从Windows GUI中打开Excel一样确认它没有加载。
我发现这一点,而试图解决在Delphi代码中的类似问题,如下所述:
CreateOleObject打开的工作簿将不会运行包含Application.Run“Solver.xlam!…”的macros导致错误400
我期望Python的语法是相似的。