用python在excel中写入宏并运行

这篇博客介绍了如何通过Python的win32com库来操作Excel,创建宏,并执行宏。作者首先展示了如何打开或创建Excel文件,然后添加模块并编写宏代码。在宏代码中,作者设置了选择第一个工作表并在A1单元格输入数字55的指令。当运行宏时,如果遇到安全错误,提示是因为Excel的安全设置过高,需要调整为信任VBProject的访问。博客提供了错误解决方案和安全设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#用python在excel中写入宏并运行
#作者:冯德平(山野雪人)
import win32com.client as win32

xl = win32.gencache.EnsureDispatch('Excel.Application')
xl.Visible = True
xlbook = xl.Workbooks.Add("aaaa")
#不写后缀名,则打开文件aaaa.xlsx,也可以写后缀名,如:abc.xlsm
#以上的语句复制文件aaaa.xlsx,并重命名为:aaaa1(注意:没有后缀名)
#如果不写文件名,则重新创建一个excel文件:
#xlbook = xl.Workbooks.Add()
xlmodule = xlbook.VBProject.VBComponents.Add(1)

xlmodule.Name = '我的模块'     #创建模块
#在模块中写入宏:
code = '''sub MyVBA()
    sheets(1).select
    range("A1")=55
end sub'''
xlmodule.CodeModule.AddFromString(code)
#运行宏:
xlbook.Application.Run('我的模块.MyVBA')

'''
运行后,你会看到加和一个名为“我的模块”的模块,模块中写入了一个宏,同时这个宏
也运行了,在A1单元格写入了55 。
如果发生错误:
pywintypes.com_error: (-2147352567, '发生意外。',
(0, 'Microsoft Excel','不信任到 Visual Basic Project
的程序连接\n', 'xlmain11.chm', 0, -2146827284),None)
错误原因:
Excel对于宏执行的安全级别设置的太高了,把它降低,则就不会出现这样的错误了。
具体解决过程如下:
打开Excel\文件\选项\信任中心\信任中心设置\宏设置\除了启用所有宏选中外,
还要将“信任对于Visiual Basic 工程对象模型的访问”选中,按确定即可。

'''
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值