【摘 要】普通話等級測試執(zhí)行機(jī)考以后,需要對很多的音頻文件進(jìn)行分類存放,手工進(jìn)行分類十分煩索。利用Excel辦公軟件在VBE環(huán)境下編制一個VBA程序可以根據(jù)普通話測試考核表自動完成分類存放。
【關(guān)鍵詞】VBA;音頻文件;分類存放
隨著中小學(xué)教師待遇的提高,相應(yīng)的師范專業(yè)的招生人數(shù)也逐年上升,參加普通話測試的人數(shù)也隨之增加,這就需要對大量音頻文件進(jìn)行處理,如何有效利用計算機(jī)程序來提高工作效率,這就是我們要在音頻文件的管理中要解決的一個難題。
1.背景
隨著信息化建設(shè)的飛速發(fā)展,語音識別技術(shù)也越來越成熟,普通話等級測試由原來的教師評閱轉(zhuǎn)變?yōu)橛捎嬎銠C(jī)完成評閱,在其中就會生成大量的音頻文件,這些文件都是以身份證號作為文件名,然后管理人員就要對這些音頻文件進(jìn)行管理。整個管理工作就是一個機(jī)械重復(fù)且煩索的操作。
2.VBA
VBA是Visual Basic for Applications的簡稱,它是Visual Basic的一種宏語言,它主要用于Office軟件的擴(kuò)展功能。
在對音頻文件的管理就是利用VBA來完成自動分類存放的。
3.設(shè)計過程
在普通話測試結(jié)束后,管理人員要對參加測試人員的成績進(jìn)行統(tǒng)計,并將音頻文件分類打包,發(fā)送給省語委,以便省語委進(jìn)行抽查,特別是二甲以上等級。就是瀘州職業(yè)技術(shù)學(xué)院2013年10月份為例,參加測試報名人數(shù)為1125人,如果用手工的方式對音頻文件進(jìn)行,顯然不可取的。
首先普通話測試中,對成績的上報的有固定的格式,如圖1所示。
圖1 普通話測試考核表
可見,我們可利用VBA程序根據(jù)普通話測試考核表中的等級列進(jìn)行對音頻文件的分類管理。程序的主界面如圖2所示。
圖2 普通話測試管理輔助程序主界面
其中第一步和第二步操作的思路類似,我們就以選擇普通話測試考核表為例,其關(guān)鍵代碼如下:
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add “Microsoft Excel 文件(*.xls)\", \"*.xlsx,*.xls\"
End With
If fd.Show = -1 Then
lbFileName.Caption =fd.SelectedItems(1)
strFileName = fd.SelectedItems(1)
End If
Set fd = Nothing
而在第三步中就是對一個對復(fù)選框的操作進(jìn)行設(shè)計,請不在詳細(xì)介紹了。
最后就是程序的核心模塊,“開始處理”代碼的設(shè)計,原理就是將身份證號和等級兩列數(shù)據(jù)讀入兩個一維組中,其關(guān)鍵代碼如下。
inttotalrows = Val(Range(\"F3\").End(xlDown).Row)’定義inttotalrows為總行數(shù)
ReDim Preserve strarrsfzjh(inttotalrows)’動態(tài)增加數(shù)組
ReDim Preserve strarrdj(inttotalrows)’動態(tài)增加數(shù)組
For i = 3 To inttotalrows
strarrsfzjh(i) = ws.Cells(i,6).Value’數(shù)組記錄身份證號列所有數(shù)據(jù)
strarrdj(i) = ws.Cells(i,10).Value’數(shù)據(jù)記錄等級列所有數(shù)據(jù)
Next
再用For循環(huán)程序結(jié)構(gòu),遍列所有數(shù)值并根據(jù)具體的等級利用FileCopy函數(shù)進(jìn)行分類存放,其關(guān)鍵代碼如下所示。
spath = strFolderName + \"\\" + strarrsfzjh(i) + \".wav\" ‘音頻文件源路徑
dpath = strFolderName + “\二甲\” + strarrsfzjh(i) + “.wav” ‘音頻文件分類路徑
If(Dir(spath) <> \"\")Then
FileCopy spath,dpath’將音頻文件從源路徑拷貝到分類的路徑中
Else
MsgBox spath + “不存在,請核實!” ‘若不存在此音頻文件則給出相應(yīng)提示信息
End If
4.結(jié)束語
利用Excel辦公軟件中的VBA代碼,實現(xiàn)了對音頻文件的自動分類管理,減少了很多煩索的機(jī)械操作,有效提高了工作的效率。
參考文獻(xiàn):
[1]百度百科.VBA[EB/OL].http://baike.baidu.com/view/
88461.htm.
[2]向蘭宣.VBA在學(xué)生成績單打印中的應(yīng)用[J].消費電子,2013(166).
[3]John Green等著.Excel 2007 VBA參考大全[M].北京:人民郵電出版社,2009.
作者簡介:向蘭宣,四川瀘州人,瀘州職業(yè)技術(shù)學(xué)院教務(wù)處助理實驗師,研究方向:JavaEE網(wǎng)站設(shè)計,計算機(jī)技術(shù)的應(yīng)用。