【Python3+VBA】在Excel中生成小姐姐
阿新 • • 發佈:2018-12-21
開發工具
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,大功告成!!!