用excel中开发者模式的VBA对excel内容操作,可以采用VB6.0或者VS搭建用户窗口,但是由于VB6.0软件版本太低,很多用户窗口函数调用与目前excel自带函数不兼容,则直接用python调用excel宏,并打包成exe。
分为几部分:
目录
1,python调用excel函数及内容
python调用excel采用的库有如openxl,xlwings。其中能调用excel宏的建议用xlwings.xlwings能够更方便的调用VBA的一些函数以及对excel单元格直接操作,可兼容VBA函数,将pandas库,numpy库与excel兼容。具体操作可以参考xlwings的说明文档.下面显示调用的简单例子
import xlwings as xl
filename = 'excelname.xlsm' #文件名称
exapp = xl.App(visible=False, add_book=False) ##用app的方式可以设置不显示excel打开界面
exapp.display_alerts = False
exapp.screen_updating = False
wb = exapp.books.open(filename) ####打开excel
(out1, out2, out3) = wb.macro('functionname')(diag1, diag2,diag3)
#'functionname'表示宏函数名,diag1~3表示函数输入,out1~3表示函数输出
上述过程可以简单完成宏函数调用。经测试,此调用过程虽然可以直接调用宏函数,但是效率不一定高。直接在excel中运行宏要快于用python调用宏函数。如果是复杂的运算,建议直接用xlwings库操作excel。
2,python封装exe修改spec文件
python封装一般采用pyinstaller库,有相关资料建议采用虚拟环境的方式进行。由于电脑无法构建虚拟环境,故此处未采用虚拟环境进行封装。pyinstal

本文介绍了如何使用Python的xlwings库调用Excel宏,并通过PyInstaller将程序封装为EXE文件。内容包括Python调用Excel宏的基本步骤,以及使用PyInstaller的-F和-D选项创建单个或多个文件的EXE封装。此外,还讨论了如何修改spec文件以包含额外的Python文件、数据和图片,并解决路径问题。

2579

被折叠的 条评论
为什么被折叠?



