當年看《別怕,Excel VBA其實很簡單》相見恨晚,看了初版電子版以後,買了紙質版,而後將其送人。然後,發現出了第二版,買之收藏。以後,發現Python這一編程語言,簡直是逆天,業餘非程序員的福音。人生苦短,我用python。簡短几句代碼,實現好多本身不敢想的功能。
自學VBA發現對VBA和python,我有着這樣幾個見解:(只是針對自動化辦公)python
設置Excel信任中心,信任對VBA工程對象模型的訪問 程序員
自定義宏編程
import xlwings as xw @xw.sub def my_macro(): wb = xw.Book.caller() wb.sheets[0].range('A1').value = wb.name
則宏名稱爲my_macro的宏就編寫好了,將工做簿的名稱輸入到A1單元格。自定義宏只須要前兩句不變,後面內容本身編寫,即自定義宏須要如下面的語句爲開頭編程語言
import xlwings as xw @xw.sub
運行方式:先alt+F8運行ImportPythonUDFs內置宏,導入咱們的自定義宏和函數,導入後,再運行我定義的my_macro宏。函數
import xlwings as xw @xw.func def myfun(): wb = xw.Book.caller() return wb.name
注意,開頭語句爲@xw.func而不是@xw.sub了,而後函數相對於宏,有返回值,因此用了return語句。自定義好函數以後,剛能夠像Excel自帶函數同樣的去使用了。如在A1單元格輸入」=myfun()",則會獲得工做簿的名稱。學習
本文給出了xlwings模塊自定義宏和函數的模版,而後簡單介紹瞭如何去定義宏和函數。注意:spa