×

python vba pywin32 xlwings

python打开Excel文件运行vba程序

鹭岛小千 鹭岛小千 发表于2021-04-30 23:59:36 浏览1068 评论0

抢沙发发表评论

【问题描述】python如何运行Excel文件里的vba程序?

【小千解答】

vba示例程序:

Sub xqoffice()
    Range("B2").Value = Now
    MsgBox "Hello, qian!"
End Sub


思路1:借助pywin32模块

安装:

pip install pywin32

代码:

from win32com.client import Dispatch

xlApp = Dispatch('Excel.Application')
xlApp.Visible = True
xlBook = xlApp.Workbooks.Open('D:/msg.xlsm',False)
xlApp.Application.Run('xqoffice')
xlBook.Close(True)
xlApp.quit()
print('Done!')

效果:

6-1.png


思路2:借助xlwings模块

安装:

pip install xlwings

代码:

import xlwings as xw

xlApp = xw.App(visible=True, add_book=False)
xlBook = xlApp.books.open('D:/msg.xlsm', False)
xlBook.macro('xqoffice')()
xlBook.save()
xlBook.close()
xlApp.quit()
print('Done!')

效果:

6-2.png


打赏码.png


【参考资料】

Python Packaging User Guide

PyWin32.chm:python安装路径\Lib\site-packages\PyWin32.chm

xlwings dev documentation

 


群贤毕至

访客