et操作 python wps_拿起来就用的office二次开发(python,win32com使用经历总结)
通過(guò)使用office的開發(fā)接口,讓我深深的領(lǐng)悟到了office的強(qiáng)大(應(yīng)該wps也有二次開發(fā)的接口)。每每看到工作中比較繁瑣的office操作,總是想做個(gè)vba快捷鍵或者做個(gè)文檔處理程序,從繁重的文本處理中解放出來(lái)。僅以此文,記錄一下,我的學(xué)習(xí)過(guò)程和經(jīng)驗(yàn)總結(jié)。
本文立足于快速實(shí)現(xiàn)一個(gè)小的demo,而不是特別深入的講解背后的原理(我當(dāng)初查資料的時(shí)候就是這個(gè)心態(tài)——先能用,再理解)。
1、為什么會(huì)開始了解office的二次開發(fā)
最早,工作上頻繁需要處理excel的數(shù)據(jù)信息——匯總、分類、再排版。每個(gè)任務(wù),都要投入2天的時(shí)間,工作內(nèi)容繁瑣且易錯(cuò)。我環(huán)顧四周的新老同事,都是怨聲載道,但是也苦于沒有更便捷的方法。
2、我的知識(shí)背景
上學(xué)學(xué)過(guò)c語(yǔ)言,做的是硬件開發(fā)的工作。對(duì)于vb、vba、python都只是知道有這么個(gè)語(yǔ)言。
3、初次嘗VBA和VB
網(wǎng)上一搜,經(jīng)常能看到vba和vb。兩個(gè)只差1個(gè)字母的兄弟,到底有什么差別?
經(jīng)過(guò)一番折騰,個(gè)人理解為區(qū)別如下:
- vba適用于添加比較小的功能,例如添加一個(gè)按鈕,處理單個(gè)workbook內(nèi)的內(nèi)容,還是比較得心應(yīng)手的;vba的代碼可以直接嵌入到office文件里面是vba的衍生
- vb是可以創(chuàng)建一個(gè)獨(dú)立的應(yīng)用程序,但是需要用到編譯器。便于處理多個(gè)office文件。而且還可以比較便捷的開發(fā)交互界面。
最初,我也是看上了vba上手簡(jiǎn)單,不需要額外安裝軟件。通過(guò)它,比較快速上手了vb這種變成語(yǔ)言。但是缺點(diǎn)也很快顯現(xiàn)出來(lái),嵌入了vba代碼的文件,往往需要打開宏功能;無(wú)法便捷的升級(jí)版本(尤其是再初期階段,需要頻繁的更迭)。
4、vb開發(fā)
通過(guò)vba嘗試開發(fā)了工具開發(fā)的可行性,我決定轉(zhuǎn)戰(zhàn)vb,使用它來(lái)幫助我實(shí)現(xiàn)更加復(fù)雜的功能(很慶幸這個(gè)選擇,為這個(gè)工具承載更多的功能,提供了比較好的基礎(chǔ))。
5、學(xué)習(xí)成果
通過(guò)不斷地查閱資料。我對(duì)excel的對(duì)象有了更深入的了解,同時(shí),也入門了word、visio的開發(fā)方法。
6、python的office開發(fā)庫(kù)的抉擇
近年來(lái)開始流行python。花了幾天時(shí)間,快速上手后。剛巧我再次面對(duì)excel開發(fā)需求的時(shí)候,發(fā)現(xiàn)python只需要安裝一個(gè)庫(kù)文件,就能操作office,而且開源、免費(fèi)、資料豐富。
python的excel庫(kù)有幾個(gè),其中我最傾向于win32com。最看重的就是它能支持office所有的com接口。這個(gè)接口的使用說(shuō)明在微軟的官網(wǎng)也可以查詢到。有了這么完備的接口,我就能在office的功能中“為所欲為”。其他的庫(kù),更加輕量,但是如果要用到excel更復(fù)雜的功能的時(shí)候,可能就比較捉襟見肘。
7、如何快速理解word、excel等工具中的對(duì)象
最快的方法是參考o(jì)ffice工具的vba參考說(shuō)明。例如word的vba參考說(shuō)明,里面對(duì)所有可以操作的對(duì)象都有說(shuō)明。同樣也有excel、visio的vba對(duì)象說(shuō)明。當(dāng)然,win32com會(huì)有對(duì)象的方法與vba存在差異的地方,不過(guò)可以借用對(duì)象的英文名,再去必應(yīng)上搜索,往往很容易能找到你想要的答案。
Word object model for Visual Basic for Applications (VBA)?docs.microsoft.com先寫到這,慢慢來(lái)加點(diǎn)例子。希望能對(duì)大家有用。
對(duì)excel里面最開始走入一個(gè)誤區(qū),就是沒有理解range與cell的區(qū)別。
其實(shí),我們很多操作,都是需要在range這個(gè)對(duì)象上去完成的,而cell只能實(shí)現(xiàn)很小的功能。
對(duì)于單個(gè)單元格的操作,只需將一個(gè)range變量指向一個(gè)單元格,就可以用range的內(nèi)建的方法,為所欲為。
同理,操作一大片單元格,用range變量指向單元格們就行。
excel的操作范例參考:
小雨:python操作excel文件?zhuanlan.zhihu.compython通過(guò)win32com操作word示例:
小雨:python操作word?zhuanlan.zhihu.com總結(jié)
以上是生活随笔為你收集整理的et操作 python wps_拿起来就用的office二次开发(python,win32com使用经历总结)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: django 怎么加权限 静态资源目录_
- 下一篇: micropython 实时音频传输_在