關(guān)意鵬
(柳州職業(yè)技術(shù)學(xué)院,廣西 柳州 545006)
基于VBA的工資條郵件分發(fā)系統(tǒng)設(shè)計(jì)
關(guān)意鵬
(柳州職業(yè)技術(shù)學(xué)院,廣西 柳州 545006)
文章以柳州職業(yè)技術(shù)學(xué)院郵件分發(fā)工資單為例,講述如何使用Microsoft Office VBA設(shè)計(jì)郵件分發(fā)系統(tǒng),通過此系統(tǒng)可以得到每位教職工的工資條文件,并按教職工的郵箱地址批量分發(fā)工資條郵件。該研究方案達(dá)到了快速分表和批量分發(fā)郵件的目的。
VBA;excel;outlook;分表;郵件;工資條
在企事業(yè)單位里,常要把每月的職工工資情況反饋給每位職工,實(shí)現(xiàn)這個(gè)目的有多種方法,但均有一些缺憾。在網(wǎng)絡(luò)不發(fā)達(dá)的年代,大多數(shù)單位使用工資大表直接打印紙質(zhì)工資條的方法,這種方法需要花費(fèi)很大的人力物力;在現(xiàn)在網(wǎng)絡(luò)使用率高的時(shí)代,很多單位有無紙化辦公的要求,在這樣的要求下,有使用工資大表通過Microsoft Word的郵件合并方法,也有購買財(cái)務(wù)軟件附加模塊的方法,前者需要人工參與較多,自動(dòng)化程度不高,后者需要花費(fèi)較大的資金來維護(hù),并且靈活性不高;當(dāng)然也有直接共享工資大表的方法,但用這種方法造成個(gè)人隱私得不到保護(hù)。筆者通過研究,發(fā)現(xiàn)可以使用Microsoft Office VBA編程的方式有效解決以上幾種方法的缺憾。下面筆者以柳州職業(yè)技術(shù)學(xué)院郵件分發(fā)工資單為例,講述如何用Microsoft Office VBA建立工資條郵件分發(fā)系統(tǒng)的過程。
企事業(yè)單位的財(cái)務(wù)管理大多通過用友、管家婆等專業(yè)財(cái)務(wù)軟件來管理的,而不管是用什么管理系統(tǒng),最終可以導(dǎo)出成Microsoft Office所支持的格式,所以本系統(tǒng)直接以通用性、靈活性最強(qiáng)的Microsoft Excel文件為出發(fā)點(diǎn),通過Microsoft Office VBA編寫程序,實(shí)現(xiàn)表格自動(dòng)拆分成職工工資單文件,然后批量制作Microsoft Outlook郵件,職工工資單作為郵件附件發(fā)送到職工的Internet郵箱,單位職工通過下載郵件即可看到自己的工資信息,從而實(shí)現(xiàn)無紙化辦公的目的,設(shè)計(jì)思路如圖1所示。
由圖1可以知道,整個(gè)過程需經(jīng)過ABCD四個(gè)操作步驟,其中步驟D由職工操作,步驟ABC由單位負(fù)責(zé)人員操作,而步驟C可使用Microsoft Outlook軟件的自帶功能,所以步驟A和步驟B是需要設(shè)計(jì)的關(guān)鍵程序。
圖1 系統(tǒng)整體設(shè)計(jì)思路
3.1 按唯一關(guān)鍵字拆分表格程序設(shè)計(jì)
如圖2的流程圖所示,使用主循環(huán)程序?qū)崿F(xiàn)拆分表格的目的,為了使程序運(yùn)行準(zhǔn)確,需對總表進(jìn)行一定的前期處置以保證總表結(jié)構(gòu)與程序的表格結(jié)構(gòu)需求一致,以及對拆分出來的表格文件存放環(huán)境進(jìn)行初始化處理,為下一步的郵件程序做制作作好數(shù)據(jù)準(zhǔn)備。
另外,在拆分表格程序運(yùn)行時(shí)先對Microsoft Excel進(jìn)行環(huán)境設(shè)置,即屏幕顯示控制為不更新狀態(tài),以消除文件產(chǎn)生時(shí)的屏幕閃爍問題。
圖2 拆分表格程序設(shè)計(jì)流程圖
3.2 批量制作帶附件的郵件程序設(shè)計(jì)
如圖3的流程圖所示,使用主循環(huán)程序?qū)崿F(xiàn)批量制作帶附件郵件的目的,為獲取主循環(huán)程序所需的文字信息,可從設(shè)置表中讀取,如郵件地址、郵件主題、制表人、聯(lián)系電話等,以及對存放附件環(huán)境進(jìn)行附件檢查。
圖3 郵件程序設(shè)計(jì)流程圖
同樣,在制作郵件程序運(yùn)行時(shí)先對Microsoft Excel進(jìn)行環(huán)境設(shè)置,即屏幕顯示控制為不更新狀態(tài),以消除文件產(chǎn)生時(shí)的屏幕閃爍問題。
由于Microsoft Office VBA是通過代碼對Microsoft Office軟件控制實(shí)現(xiàn)操作目的,所以建立的系統(tǒng)本身是一個(gè)Microsoft Excel文件,這樣系統(tǒng)的兼容性很好,系統(tǒng)約80K大小,易于存儲(chǔ)。系統(tǒng)界面如圖4所示。
圖4 系統(tǒng)操作界面
點(diǎn)擊圖4的[創(chuàng)建分表]按鈕時(shí),分表程序按圖2設(shè)計(jì)過程運(yùn)行,程序運(yùn)行結(jié)束后,在C:mytemp目錄下生成唯一字段的職工工資文件,如圖5所示,得到的是95個(gè)按職工工號(hào)拆分的工資文件。
圖5 拆分表格的結(jié)果
點(diǎn)擊圖4的[郵件分發(fā)]按鈕時(shí),生成郵件程序按圖3設(shè)計(jì)過程運(yùn)行,程序運(yùn)行結(jié)束后,如圖6所示,在Microsoft Outlook的發(fā)件箱中可以看到95個(gè)帶附件郵件,收件人為職工的Internet郵箱地址。
圖6 Microsoft Outlook中的發(fā)件箱
利用Microsoft Office VBA建立工資條郵件分發(fā)系統(tǒng)是完全可行的,這種系統(tǒng)的優(yōu)點(diǎn)是開發(fā)速度快,代碼量小,方便存儲(chǔ),兼容性強(qiáng),靈活性好,在現(xiàn)實(shí)的使用中已取得良好的效果。
[1] 顧璇,徐衛(wèi)紅,賀征,等.工資管理項(xiàng)目計(jì)算機(jī)輔助系統(tǒng)的設(shè)計(jì)[J].應(yīng)用科技,2014,(6):9.
[2] 張超,劉堅(jiān).高校工資管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科協(xié)論壇,2011,(4):42.
How to design a E-mails wages strip distribution system based on VBA
Taking the e-mail wages strip distribution system of LiuZhou Vocational &Technical College as an example ,this article introduce how to apply the software of Microsoft Office VBA to establish a E-mails wages strip distribution system. With this system every college employee can get their wages strip via e-mail. The research approach has achieved the goal of distribute form more quickly and deliver mails in batches.
VBA; excel; outlook; distribute form; e-mail; wages strip
TP311.1
A
1008-1151(2015)01-0010-02
2014-12-10
關(guān)意鵬(1978-),男,廣西玉林人,柳州職業(yè)技術(shù)學(xué)院講師,碩士,從事機(jī)械制造自動(dòng)化和計(jì)算機(jī)技術(shù)應(yīng)用的研究和教學(xué)工作。