梁 方莊 莉
(1.南通大學現(xiàn)代教育技術(shù)中心 江蘇 南通 226019;2.南通市財政局 江蘇 南通 226001)
近年來,許多部門、單位都要在工資金額以外發(fā)放加班費等補貼。如市財政局每年按市政府要求發(fā)放的招商引資獎、目標考核獎。這些獎金一般要求直接發(fā)放到員工工資卡上,需要將數(shù)據(jù)以電子文檔(如DBF XLS)發(fā)送到銀行。
以前獎金發(fā)放是由機房專業(yè)人員幫助會計通過VFP完成數(shù)據(jù)的整理、上報,管理責任不明、操作流程不順,因此迫切需要一個程序,由會計自行使用。
目的:充分運用EXCEL VBA的功能,開發(fā)實用程序,實現(xiàn)獎金發(fā)放。
內(nèi)容:運用EXCEL VBA技術(shù),在EXCEL表的菜單中新建獎金發(fā)放菜單欄,菜單欄包含生成獎金、生成匯總表、生成上報數(shù)據(jù)、數(shù)據(jù)解鎖及幫助功能;同時程序具備隱藏指定系統(tǒng)表及VBA代碼的密碼保護功能。
Visual Basic for Application Visual Basic是Windows環(huán)境下開發(fā)應(yīng)用軟件的一種通用程序設(shè)計語言,功能強大,直觀易用。一方面,它是可視性程序設(shè)計語言,許多復雜的用戶界面設(shè)計都可以直觀地利用鼠標拖放以及對各種對象屬性的設(shè)置、修改完成,幾乎無需編程。另一方面,程序的控制普遍采用了事件驅(qū)動機制,根據(jù)用戶操作觸發(fā)的事件,執(zhí)行不同的動作,完成相應(yīng)的功能,因而都是一些短小精練的過程,容易設(shè)計和調(diào)試。例如Excel2003的VBA,主要增加了關(guān)于Excel工作簿、工作表、區(qū)域、數(shù)據(jù)透視表等對象的屬性、事件和方法。
改變原有由專業(yè)技術(shù)人員用VFP直接對數(shù)據(jù)庫手工輸入命令修改獎金的操作方法為利用EXCEL2003應(yīng)用程序中加入特定菜單欄、菜單項,由會計人員自己通過點擊菜單項完成生成獎金、生成匯總表、生成上報數(shù)據(jù)、數(shù)據(jù)解鎖等功能。
該程序的使用環(huán)境是Microsoft Excel2003,采用的是EXCEL VBA技術(shù)實現(xiàn)程序功能。
2.2.1 獎金表
2.2.2 部門匯總表
功能:提供獎金發(fā)放程序的操作功能菜單。
輸入項目:鼠標或鍵盤事件。
輸出項目:無。
界面如圖4-1所示:
圖4-1 菜單欄
功能:根據(jù)需要,輸入獎金基數(shù)、選擇系數(shù)及離退休項目,完成獎金數(shù)據(jù)生成。
輸入項目:鼠標或鍵盤事件。
輸出項目:無。
界面如圖4-2所示:
圖4-2 生成獎金窗體
功能:按獎金發(fā)放部門生成金額及人數(shù)的匯總表。
輸入項目:鼠標或鍵盤事件。
實現(xiàn)此項功能的代碼段:
功能:將獎金表轉(zhuǎn)換為TXT文件,保存在獎金發(fā)放表的同級目錄中。
文件名定義格式:“獎金發(fā)放表之獎金”+“匯總金額”
輸入項目:鼠標或鍵盤事件。
實現(xiàn)此項功能的代碼段:
功能:表中數(shù)據(jù)除金額列外全部加鎖保護。解鎖后可修改基礎(chǔ)數(shù)據(jù)。
輸入項目:鼠標或鍵盤事件。
實現(xiàn)此項功能的代碼段:
Sheets(1).Protect DrawingObjects:=True,contents:=True,Scenarios:=True
本文給出了用EXCEL VBA實現(xiàn)獎金發(fā)放的方法。程序成功開發(fā)和運行證明利用VBA能夠快速部署和解決日常工作中實際問題,提高工作效率和提升工作質(zhì)量。
[1]伊利奇,王保眾.透視 EXCEL VBA應(yīng)用與開發(fā)[M].北京:人民郵電出版社,2008,1.