Python3+VBA在Excel中生成小姐姐
导语
利用简单的Python和VBA程序在Excel中生成小姐姐。
感觉很有趣,让我们愉快地开始吧~~~
开发工具
Python版本:3.6.4
相关模块:PIL模块;openpyxl模块;以及一些Python自带的模块。
Excel版本:Excel2016。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
实现过程
Step1:
利用Python将小姐姐照片上各像素的RGB信息(随机)输出到Excel文件的Sheet2中。
注意照片不宜过大,否则不利于后续操作。
实现方式:
在cmd窗口运行"Gen_Excel.py"文件(或者直接双击运行"Gen_Excel.exe"文件),并根据提示输入小姐姐照片的路径即可:
Step2:
读取Sheet2中的像素值信息并填充到Sheet1中。
实现方式:
打开Step1中生成的Excel文件(默认文件名为"test.xlsx"),按下"Alt+F11"打开VB编辑器后新建一个模块:
将相关文件中提供的"VBA.txt"文件里的第一段代码复制进模块:
同时,为了使Excel文件打开后自动生成小姐姐的图片,设置一下Workbook_open事件,即将"VBA.txt"文件里的第二段代码复制到"ThisWorkbook"中:
最后,将该".xlsx"格式的excel文件(默认为"test.xlsx")另存为".xlsm"格式的excel文件以保证宏正常运行:
Step3:
打开".xlsm"格式的excel文件,可以发现最终的结果是这样子的:
而原图是这样子的:
因此我们需要调整一下图片所在单元格的列宽、行高和页面缩放级别使其长宽比与原图一致(网上淘的图,所以质量差了点):