制作Excel加載宏完成工資表自動(dòng)生成工資條
摘 要:
摘 要:Microsoft Excel 提供了加載宏功能,本文通過(guò)“生成工資條”加載宏可以解決工作人員制作工資條的問(wèn)題。只要用戶(hù)將該加載宏載入到Excel中,就會(huì)作為Excel的一個(gè)菜單項(xiàng)命令來(lái)使用,具有較好的實(shí)用性和通用性。
關(guān)鍵詞:
關(guān)鍵詞:加載宏 VBA 工資表
工資管理是許多單位數(shù)據(jù)處理中的一個(gè)應(yīng)用,很多OA軟件都有工資管理模塊,但單位中存在許多因素,花費(fèi)大力人力物力財(cái)力去開(kāi)發(fā)存在苦難,所以尋求一種簡(jiǎn)單、高效、低成本的開(kāi)發(fā)方法是非常有意義的。
1 程序設(shè)計(jì)目標(biāo)
設(shè)計(jì)一個(gè)把工資表自動(dòng)生成工資條的程序,把它以“加載宏”的方式加載到Excel應(yīng)用軟件中,在Excel2003的“工具”菜單欄中增加了“生成工資條”菜單項(xiàng)。打開(kāi)一個(gè)名為“工資表”的工作表(見(jiàn)圖1),選擇“工具”菜單欄中的“生成工資條”菜單項(xiàng),將自動(dòng)把工資表生成工資條(見(jiàn)圖2)。
圖1 工資表和加載宏后的“工具”菜單 圖2 生成工資條
2 編程關(guān)鍵技術(shù)及程序?qū)崿F(xiàn)
VBA是建立在Office軟件上的應(yīng)用開(kāi)發(fā)工具,其關(guān)鍵技術(shù)主要包括語(yǔ)句、對(duì)象、方法、屬性、事件等。
2.1 根據(jù)上述介紹方法,在工作簿下創(chuàng)建代碼模塊,并在其中建立過(guò)程
Sub createpaylist()
Dim i As Integer
Dim endrow As Integer
For Each Worksheet In Worksheets '檢查有無(wú)同名工作表
If Worksheet.Name = "工資條" Then
abc = MsgBox("現(xiàn)工作簿中有一張名為“工資條”工作表。要繼續(xù)嗎?", vbYesNo + vbQuestion, Title:="工資條")
If abc = 6 Then
Worksheets("工資條").Delete
End If
If abc = 7 Then
cancel = True
MsgBox "您取消了本次操作!", vbQuestion, "工資條"
Exit Sub
End If
End If
Next
Worksheets.Add '生成新工作表
ActiveSheet.Name = "工資條"
'計(jì)算"工資表"中數(shù)據(jù)的行數(shù)
endrow = Worksheets("工資表").Range("A65536").End(xlUp).Row
2.2 創(chuàng)建菜單模塊,建立過(guò)程
Sub CreateMenu()
Dim NewItem As CommandBarButton
Dim XLCommandBar As String
Dim XLMenu As String
Dim XLMenuItem As String
Dim NewMenuItem As String
XLCommandBar = "Worksheet Menu Bar"
XLMenu=Application.CommandBars(XLCommandBar).FindControl(msoControlPopup, 30007).Caption
XLMenuItem = ""
NewMenuItem = APPNAME & "..."
Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls(XLMenuItem).Controls(NewMenuItem).Delete
Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls(NewMenuItem).Delete
If XLMenuItem = "" Then
Set NewItem=Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls.Add
Else
SetNewItem=Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls(XLMenuItem).Controls.Add
End If
With NewItem
.Caption = NewMenuItem
.OnAction = "CreatePaylist"
.FaceId = 0
.BeginGroup = True
End With
Exit Sub
End Sub
2.3 刪除菜單模塊,建立過(guò)程
Sub DeleteMenu()
Dim XLCommandBar As String
Dim XLMenu As String
Dim XLMenuItem As String
Dim NewMenuItem As String
XLCommandBar = "Worksheet Menu Bar"
XLMenuItem = ""
NewMenuItem = APPNAME & "..."
XLMenu = Application.CommandBars(XLCommandBar).FindControl(msoControlPopup, 30007).Caption
Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls(XLMenuItem).Controls(NewMenuItem).Delete
Application.CommandBars(XLCommandBar).Controls(XLMenu).Controls(NewMenuItem).Delete
End Sub
2.4 在完成生成工資條、創(chuàng)建菜單項(xiàng)和刪除菜單項(xiàng)命令的代碼后,在Workbook的 Addininstall和AddinUninstall事件,,代碼如下:
Private Sub Workbook_AddinInstall()
CreateMenu '調(diào)用CreateMenu程序
End Sub
Private Sub Workbook_AddinUninstall()
DeleteMenu
End Sub
2.5 返回到Excel編輯狀態(tài),保存文件為“工資條工具.xla”(擴(kuò)展名為*.xla)
打開(kāi)Excel,執(zhí)行菜單欄“工具”中的“加載宏”命令,選擇“工資條工具.xla”加載文件,“生成工資條”加載成功
3 結(jié)語(yǔ)
本文通過(guò)Excel加載宏實(shí)用程序的方法,來(lái)擴(kuò)充Excel系統(tǒng)本身的功能,這對(duì)于使用Excel的相關(guān)人員提供一種思路,發(fā)揮自主創(chuàng)造力來(lái)擴(kuò)充Microsoft Excel功能,提高工作效率。
參考文獻(xiàn):
[1]李啟剛.淺析Excel制作工資條的方法——兩行項(xiàng)目工資條的制作[J].齊魯珠壇,2010(5).
本文編號(hào):14521
本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/14521.html