【问题标题】:How to run a Personal Workbook Macro using pywin32 in Python?如何在 Python 中使用 pywin32 运行个人工作簿宏?
【发布时间】:2016-06-29 21:59:01
【问题描述】:

我正在尝试使用 0 个参数从 Python 运行个人工作簿宏。到目前为止,这是我的代码:

xl = win32com.client.Dispatch("Excel.application")
xl.Visible = 1

if os.path.isfile('delete_this_file.xlsx'):
    workbook = xl.Workbooks.Open('delete_this_file.xlsx')
else:
    workbook = xl.Workbooks.Add()
    workbook.SaveAs(os.getcwd() + '\\delete_this_file.xlsx')  

xl.Workbooks.Add("C:\\Users\\myusername\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL.XLSB")
xl.Application.Run('LoopThruFiles')
xl.DisplayAlerts = 0
xl.Application.Quit()
del xl

但 Python 回退了 Windows 错误:“无法运行宏 'LoopThruFiles'。此工作簿中可能没有该宏,或者所有宏都可能被禁用。”

但是,我在信任中心启用了“信任对 VBA 项目对象模型的访问”复选框。

有人有这方面的经验吗?

【问题讨论】:

    标签: python excel macros vba


    【解决方案1】:
    xl.Application.Run('PERSONAL.XLSB!LoopThruFiles')
    

    见:http://www.rondebruin.nl/win/s9/win001.htm

    【讨论】:

    • 刚刚尝试过 - 新错误显示:“无法运行宏 'C:\\Users\\myusername\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL. XLSB!LoopThruFiles'。此工作簿中可能没有该宏,或者所有宏都可能被禁用。"
    • 是否启用了宏?如果您手动打开该工作簿,您可以运行宏吗?我认为这与“信任对 VBA 项目对象模型的访问”设置无关,而是与一般宏安全设置有关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多