gpt4 book ai didi

python - (Excel) 访问 CodeModule 时 VBA 崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 21:16:27 25 4
gpt4 key购买 nike

我试图将一些代码插入到 VBA 代码模块中,但读取 CodeModule 属性时 Excel 崩溃。下面是 python 中的示例代码:

excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
workbook = excel.Workbooks.Open("C:\\test\\test1.xlsx")
excel.VBE.MainWindow.Visible = False
sheet = workbook.Worksheets(1)
vbp = workbook.VBProject
comp = vbp.VBComponents(workbook.CodeName)
cm = comp.CodeModule # <--------------- !!! Excel crashes here
curLine = cm.CreateEventProc("Open", "Workbook")
cm.InsertLines(curLine + 1, "some text")

故障应用程序名称:EXCEL.EXE,版本:16.0.11231.20174,时间戳:0x5c5e3867

故障模块名称:combase.dll,版本:10.0.14393.2791,时间戳:0x5c5a43d3

异常代码:0xc0000005

操作系统:Windows Server 2016 Standard,最新

这不是 pywin32 特定的问题,我已经对此进行了测试。我还尝试过 x86 和 x64 Office 版本,两者都崩溃了。有趣的是,Excel com 对象仍然存在,我仍然能够操作它并保存文件。但 VBProject 是空的。

有什么想法可以在哪里挖掘吗?

最佳答案

该文件是 xlsx,因此它没有 VBProject。诚然,它应该抛出错误而不是崩溃。您需要 xlsm 文件类型。

关于python - (Excel) 访问 CodeModule 时 VBA 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54669716/

25 4 0
文章推荐: opencv - 非连接形态过滤器
文章推荐: c# - 如何将整数数组传递给方法 : Reflection C#
文章推荐: html - 如何将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com