1. 程式人生 > >【Python3+VBA】在Excel中生成小姐姐

【Python3+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檔案,可以發現最終的結果是這樣子的:

而原圖是這樣子的:

因此我們需要調整一下圖片所在單元格的列寬、行高和頁面縮放級別使其長寬比與原圖一致(網上淘的圖,所以質量差了點):

最後隱藏一下Sheet2以免露餡:

OK,大功告成!!!