You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xlwings在VS中打开带宏Excel文件时抛出异常求助

问题:xlwings打开启用宏的Excel工作簿时抛出异常

环境信息

  • Microsoft Visual Studio Community 2022(64位)版本17.11.1
  • Python 3.9.13(64位)
  • Microsoft Excel for Microsoft 365 MSO(版本2407 Build 16.0.17830.20056)64位

尝试的代码方案

方案1(参考xlwings官方文档)

import xlwings as xw

file_path = r'C:\PythonExcelTest\pythonmacro.xlsm'
wb = xw.Book(file_path)                               # 此处抛出异常
macro1 = wb.macro("Module1.MySub")
macro1()

方案2(参考YouTube示例)

import xlwings as xw

file_path = r'C:\PythonExcelTest\pythonmacro.xlsm'
app = xw.App(visible=True, add_book=False)
wb = app.books.open(file_path)                        # 此处抛出异常
run_macro = wb.app.macro("Module1.MySub")
run_macro()

两种方案在打开启用宏的工作簿时均抛出相同异常,需排查原因。

排查建议

  1. 检查宏安全设置
    • 打开Excel,依次进入「文件」>「选项」>「信任中心」>「信任中心设置」>「宏设置」,选择「启用所有宏(不推荐;可能会运行有潜在危险的代码)」或「启用签署的宏」(若宏已签署),同时勾选「信任对VBA工程对象模型的访问」。
  2. 验证文件路径与权限
    • 确认C:\PythonExcelTest\pythonmacro.xlsm路径正确、文件存在且未被其他程序锁定(比如手动打开了该文件)。
    • 尝试将文件移到桌面等权限开放的目录,测试Python是否能正常读取。
  3. 确认组件位数一致性
    • 虽然当前环境都是64位,但需确保xlwings是对应64位版本,可通过pip show xlwings查看安装信息。
  4. 测试基础Excel操作
    • 先运行以下代码验证xlwings基础功能是否正常,排除安装或配置问题:
      import xlwings as xw
      wb = xw.Book()
      wb.save(r'C:\PythonExcelTest\test.xlsx')
      wb.close()
      
  5. 检查VBA宏本身
    • 手动打开pythonmacro.xlsm,直接运行Module1.MySub,确认宏无语法或运行时错误。
  6. 启用日志获取详细错误
    • 添加日志输出,捕获更多异常细节:
      import xlwings as xw
      import logging
      logging.basicConfig(level=logging.DEBUG)
      
      file_path = r'C:\PythonExcelTest\pythonmacro.xlsm'
      wb = xw.Book(file_path)
      

内容的提问来源于stack exchange,提问作者Benny88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 06:46:02