唐婷
摘 要:該文以教師較為熟悉的excel環(huán)境為背景,利用VBA進行二次開發(fā),設計了一個基于Excel VBA的教師基本信息管理系統(tǒng),將教師信息進行統(tǒng)一規(guī)范的錄入,改善重復性操作轉換為自動化實現,大大提高了工作效率,方便管理人員修改、查詢、填表、提交信息等一系列人事管理工作。
關鍵詞:excel vba 教師基本信息管理系統(tǒng)
中圖分類號:TP317.7 文獻標識碼:A 文章編號:1672-3791(2015)04(c)-0030-02
在學院的系部管理中,有重要的一項管理就是教師師資力量的管理,一個隊伍的師資力量體現了教學的水平和實力,系部應對該系所有教師的基本信息進行統(tǒng)一管理并存檔。教師的基本信息繁多復雜,并且隨時需要添加新信息,在工作中經常需要填寫各種表格提交給上級單位,進行教學評估、職稱評定、爭優(yōu)選取等教學活動。有時還需要對教師的基本信息進行查詢和統(tǒng)計,比如說統(tǒng)計教職工人數、性別、年齡、學歷、職稱分布的情況等數據信息,以便給各種教研報告提供有效的數據。為方便系部統(tǒng)一有效的管理教師信息,利用Excel VBA的控件功能和編程技巧,將數據有效存入Excel表格中,為查詢、統(tǒng)計、生成可用表單提供基礎的數據,從而建立教師基本信息管理系統(tǒng),提高管理工作效率。
教師基本信息管理系統(tǒng)適用于系部對教師信息的收集與管理,按照傳統(tǒng)的方式是在每一次需要提交教師基本信息時,由教師自己填表提交給系部,再由系部核實校正,制作成規(guī)范格式的表格送交到學院。為改變傳統(tǒng)模式,提高工作效能,建立有效的管理系統(tǒng)對教師信息進行統(tǒng)一管理,全面掌握教師基本情況,在需要提供教師的各種基本信息時,可通過管理系統(tǒng)查詢并制成規(guī)范格式的表格進行提交,避免每一次由教師填表時出現信息不統(tǒng)一或錯誤填寫的后果,減少管理人員的工作量和教師填表的重復勞動,提高正確率和工作效率,實現現代化的科學管理。
1 VBA簡介及設計
Vba,是visual basic FOR APPLICATION的縮寫,是OFFICE辦公軟件內嵌的編程語言。Vba采用visual basic的語言和面向對象技術,實現用戶定制化的技術,通過編程控制這些功能強大的軟件,從而發(fā)揮更強大的功能。Vba語言結構簡單,便于學習和設計出有效的功能系統(tǒng)。
1.1 功能設計
系統(tǒng)主要功能設計實現了四個大方面的功能:教師基本信息的錄入、教師信息查詢、教師信息統(tǒng)計和教師基本信息提交表與打印。
教師基本信息的錄入主要實現按編號進行教師信息的錄入過程,如果在錄入完成后發(fā)現信息出現錯誤,可通過修改功能進行修改信息并再次保存信息?!敖處熁拘畔⑶闆r”表結構中的字段名稱如下:
編號、姓名、性別、民族、政治面貌、身份證號碼、出生年月、籍貫、工作單位、參加工作時間、身體狀況、黨政職務、最后學歷、畢業(yè)時間及畢業(yè)院校和專業(yè)、學位、何時任現專業(yè)技術職務(職稱)、基礎工資(元)、懂何種外語及熟練程度、主要簡歷、主要專業(yè)技術工作成績、撰寫論文情況學習、進修情況、受獎情況、科研項目。
教師信息查詢功能主要實現按教師姓名進行查詢,查詢到的內容以一條記錄按行顯示,可查詢多條教師記錄,查詢表結構中的字段名稱與教師基本信息情況表中的字段名稱一樣。查詢結束后可清楚查詢內容,便于下一次的查詢。
教師信息統(tǒng)計功能主要實現按性別、年齡、學歷、工資等統(tǒng)計條件進行單項統(tǒng)計,或者根據多項條件進行綜合統(tǒng)計教師的人數并顯示姓名等功能。性別字段分為男、女;年齡字段分為20至30歲、31至40歲、41至50歲、50歲以上;學歷字段分為大專、本科、碩士、博士;工資字段分為2000以下、2000到3000之間、3000到4000之間、4000以上;職稱字段分為助教、講師、副教授、教授。
教師基本信息提交表與打印功能主要實現按所選字段或特定表格填寫教師信息,生成excel表格或轉換為word表格,便于提交給上級部門以及打印出來生成教師資料。信息提交表中的字段與教師基本信息情況表中的字段名稱一樣,在實際操作中可以選擇字段項。
1.2 界面設計以及關鍵代碼
關鍵代碼:
Sub getonerecord()
Dim msgboxrst As VbMsgBoxResult
Dim count As Integer
count = 0
Range("A3").Select
Do Until Selection.Offset(count, 1).Value = ""
If UserForm1.TextBox1.Text = Selection.Offset(count, 1).Value Then
msgboxrst = MsgBox("教師姓名重復!", vbOKOnly & vbInformation, "提示")
Exit Sub
End If
count = count + 1
Loop
lie1 = 0
With UserForm1
lie2 = .TextBox1.Text
lie3 = .ComboBox1.Text
lie4 = .TextBox3.Text
lie5 = .TextBox4.Text
lie6 = .TextBox17.Text
lie7 = .TextBox20.Text
lie8 = .TextBox2.Text
lie9 = .TextBox5.Text
lie10 = .TextBox18.Text
lie11 = .TextBox19.Text
lie12 = .TextBox6.Text
lie13 = .TextBox7.Text
lie14 = .TextBox8.Text
lie15 = .TextBox9.Text
lie16 = .TextBox10.Text
lie17 = .TextBox11.Text
lie18 = .TextBox12.Text
lie19 = .TextBox13.Text
lie20 = .TextBox14.Text
lie21 = .TextBox15.Text
lie22 = .TextBox16.Text
lie23 = .TextBox21.Text
End With
count = 0
Range("A3").Select
Do Until Selection.Offset(count, 0).Value = ""
count = count + 1
Loop
Selection.Offset(count, 0).Value = count + 1
Selection.Offset(count, 1).Value = lie2
Selection.Offset(count, 2).Value = lie3
Selection.Offset(count, 3).Value = lie4
Selection.Offset(count, 4).Value = lie5
Selection.Offset(count, 5).Value = lie6
Selection.Offset(count, 6).Value = lie7
Selection.Offset(count, 7).Value = lie8
Selection.Offset(count, 8).Value = lie9
Selection.Offset(count, 9).Value = lie10
Selection.Offset(count, 10).Value = lie11
Selection.Offset(count, 11).Value = lie12
Selection.Offset(count, 12).Value = lie13
Selection.Offset(count, 13).Value = lie14
Selection.Offset(count, 14).Value = lie15
Selection.Offset(count, 15).Value = lie16
Selection.Offset(count, 16).Value = lie17
Selection.Offset(count, 17).Value = lie18
Selection.Offset(count, 18).Value = lie19
Selection.Offset(count, 19).Value = lie20
Selection.Offset(count, 20).Value = lie21
Selection.Offset(count, 21).Value = lie22
Selection.Offset(count, 22).Value = lie23
Selection.Offset(count, 23).Value = lie24
Call initemvar
Call qingkong
End Sub
Sub uploadpic()
Dim mypath As String
With UserForm3
mypath = .TextBox1.Text
lie24 = .TextBox1.Text
End With
Dim w As Integer
Dim h As Integer
w = 0
h = 0
With UserForm1
w = .Image1.Width
h = .Image1.Height
.Image1.Visible = False
.Image1.Picture = LoadPicture(mypath)
.Image1.AutoSize = True
.Image1.Width = w
.Image1.Height = h
.Image1.Visible = True
End With
End Sub
2 結語
Office是一個非常強大的辦公系統(tǒng),為我們的辦公自動化帶來了很大的便利,但是即使你熟悉的掌握了所有的操作技能也只是掌握了office的90%的功能,剩余的10% 的功能就是靠VBA的實現,并把前面的90%的功能進行無限擴展可能。該系統(tǒng)就是利用VBA對現有office進行功能擴展,保留了office的操作習慣,能使熟悉office操作的人員最短時間掌握和使用。
參考文獻
[1] 劉增杰,王英英.excel 2010 vba入門與實戰(zhàn)[M].北京:清華大學出版社,2012.
[2] 王川,軟興平,于平創(chuàng),等.中文版Office2000 VBA一冊通[M].北京:人民郵電出版社,2000:92-160.
[3] 云舟工作室.中文版Word2000 VBA一冊通[M].北京:人民郵電出版社,2000:110-180.
[4] 李文江.VBA在powerpoint課件中的應用[J].重慶文理學院學報:自然科學版,2006,5(1):27-29.
[5] Jelen B,Syrstad T著.郭兵英譯.EXCEL 2007 VBA與宏完全剖析[M].北京:人民郵電出版社,2008.
[6] 格林著.Execel Home譯.Excel2007參考大全[M].北京:人民郵電出版社,2009.