【Python3+VBA】在Excel中生成小姐姐

由 rowline 创建,Carrie 最后一次修改 2018-10-09
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

视频预览


点击链接查看视频

导语

利用简单的Python和VBA程序在Excel中生成小姐姐。

感觉很有趣,让我们愉快地开始吧~~~

相关文件

关注微信公众号“Charles的皮卡丘”回复‘小姐姐’获取。

开发工具

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文件,可以发现最终的结果是这样子的:

而原图是这样子的:

因此我们需要调整一下图片所在单元格的列宽、行高和页面缩放级别使其长宽比与原图一致(网上淘的图,所以质量差了点):

最后隐藏一下Sheet2以免露馅:

OK,大功告成!!!

关闭".xlsm"格式的excel文件后重新打开即可获得文章开头视频中的效果~

更多

更多

相关文件里有打包好的exe文件,所以环境搭建一步是可以略去的~~~

图片可以是任意的小姐姐、小哥哥以及一些萌萌的小动物等等~~~

以上内容是否对您有帮助:

二维码
建议反馈
二维码