亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VBA技術實現(xiàn)調查問卷數(shù)據(jù)自動讀取

        2014-10-14 09:28:00韓愛慶
        計算機與現(xiàn)代化 2014年2期
        關鍵詞:內(nèi)容信息

        唐 燕,韓愛慶,翟 興

        (北京中醫(yī)藥大學信息中心,北京 100029)

        0 引言

        在日常工作和生活中,隨著計算機的普及和各行各業(yè)信息化程度的不斷提高,經(jīng)常會有各種各樣的調查問卷電子文檔需要大家填寫,當調查問卷的主辦方收集到這些大量的文檔后,如何將有價值的信息從每個文檔中提取出來,并匯總在數(shù)據(jù)庫或電子表格中就變得非常重要;類似地,企事業(yè)單位的人事處、財務處、科研處等部門也經(jīng)常要求大家填寫各種給定格式的文檔,這些部門收集到員工們填寫的文檔后,也經(jīng)常需要從這些文檔中提取相關的信息并匯總統(tǒng)計數(shù)據(jù)。這樣的應用非常廣泛,也很普遍。然而,目前缺乏現(xiàn)成的工具或軟件去自動獲取收集到的文檔中的信息,往往都是靠手工完成的,效率非常低下,還很容易出錯。筆者在實際應用中,使用VBA編程,實現(xiàn)了將大量Word文檔中的信息快速自動讀取到Excel中的功能。

        1 問題的描述

        學校的人事處向全校教師下發(fā)了一份Word格式調查問卷,調查的內(nèi)容涉及教師的個人信息、參加項目、發(fā)表論文以及教學工作量的情況。調查問卷的部分內(nèi)容如圖1所示。

        圖1 一份調查問卷的部分內(nèi)容

        在這份調查問卷中,有文字描述也有很多張表格。人事處收集到所有教師填寫的Word文檔后,需要將每個人在這些文檔中填寫的個人信息、課題、論文等方面的情況匯總在一個數(shù)據(jù)庫或Excel電子表格中,以方便進一步統(tǒng)計分析。如果采用人工提取數(shù)據(jù)的方法,需要打開每份調查問卷,逐項復制,這樣,不但花費大量的時間,而且工作效率非常低下,并且操作者也會感到枯燥繁瑣,稍不留神,還很容易出錯。筆者采用的方法是在Excel中使用VBA編寫程序,自動掃描每份調查問卷文檔,在分秒間即可完成所有問卷的數(shù)據(jù)自動讀取。這種方法,節(jié)省了大量的人力和時間,效率很高,值得借鑒。

        2 VBA技術

        VBA(Visual Basic for Applications)是新一代標準宏語言,是基于Visual Basic for Windows發(fā)展而來的,是Visual Basic程序設計語言的子集。與VB不同的是VBA要求有一個宿主應用程序才能運行,比如Excel、Word等,不能用于創(chuàng)建獨立應用程序。正因為這樣,VBA在執(zhí)行過程中與宿主應用程序緊密結合,不需要運用其它工具即可創(chuàng)建功能強大的個性化桌面應用程序。和其它編程語言一樣,VBA中也有常用數(shù)據(jù)類型、結構體、數(shù)組、流程控制、函數(shù)等編程基本元素。在Word、Excel等Office軟件中都可以利用VBA進行二次開發(fā),從而改進Office應用程序的功能,使得Office軟件能根據(jù)用戶的需求實現(xiàn)更多的功能。

        3 基于VBA的解決方法

        筆者在Excel中,使用VBA編程,將同一目錄下的所有Word文檔逐一打開,提取需要的信息,并將信息顯示在Excel中。通過程序自動讀取數(shù)據(jù),可以快速將大量的Word文檔中的數(shù)據(jù)讀取并整合在Excel中。在Excel中,利用其強大的數(shù)據(jù)處理能力,可以進行進一步的數(shù)據(jù)分析與統(tǒng)計。

        3.1 解決問題的思路

        當收集到Word版本的調查問卷時,將所有的文檔放在同一個文件夾里。文件的組織如圖2所示。

        圖2 Word文件組織結構

        創(chuàng)建Excel文件,分多個Sheet存儲數(shù)據(jù)。根據(jù)Word文檔中不同主題的調查數(shù)據(jù),創(chuàng)建不同的Sheet,并為每個Sheet創(chuàng)建由多個字段組成的表的基本結構。其中,字段需要從調查表中提取關鍵信息,一個Sheet中,可以有多個字段組成表頭。根據(jù)這份調查問卷的內(nèi)容,Excel文件的結構如圖3所示。

        圖3 Excel文件的結構

        在Excel中,添加按鈕,編寫按鈕的單擊事件,實現(xiàn)所有Word文檔的數(shù)據(jù)提取。

        3.2 算法的描述

        算法中將Word文檔中的內(nèi)容分成2個部分,一部分是以回車結束的各段的文本描述信息的讀取,另一部分是以表格形式展示的各張表格數(shù)據(jù)的讀取。算法中將文本描述信息放置在Excel中的第一個Sheet中,并命名為個人信息;其余各張表格的數(shù)據(jù)分別放在不同的Sheet中,分別命名為工作情況、項目情況、論文情況、教學工作量。

        (1)定義字符串變量 strFileName=Dir(This-Workbook.Path & "* .doc"),當 Len(strFileName)>0時,進入循環(huán)。定義Word文檔obDoc=appWD.Documents.Open(ThisWorkbook.Path & "" & str-FileName)并獲得要打開的Word的文件名。

        (2)文本描述信息行數(shù)i=1,當i≤5時,開始循環(huán),strSel=obSel.Paragraphs(1).Range.Text選擇信息所在段落,strSel=Trim(Mid(strSel,InStr(strSel,":")+1))提取信息,sht.Cells(iRow,Chr(i+97))=strSel將信息寫入第一個Sheet中的單元格中。循環(huán)結束,文字描述信息部分提取完畢。

        (3)Word文檔中的表格數(shù) iTableCount=1,當iTableCount≤obDoc.Tables.Count,遍歷 Word 中的所有表格。

        (4)每張表格的行數(shù) i=2,當 i≤tbl.Rows.Count時,從第二行開始遍歷,如果 Len(Trim(tbl.Cell(i,1).Range.Text))>2,則 tbl.Rows(i).Select選擇該行,obSel.Copy復制該行內(nèi)容,sht.Cells(iRow,"b").PasteSpecial Paste:=xlPasteValues將選中的內(nèi)容粘貼到Excel單元格中,iRow=iRow+1。返回第(4)步繼續(xù)循環(huán),否則,當 i> tbl.Rows.Count時退出循環(huán)。

        (5)返回第(3)步繼續(xù)循環(huán),否則,當iTableCount>obDoc.Tables.Count時,所有表格的內(nèi)容被讀出,循環(huán)結束。

        (6)關閉當前的Word文檔,獲得下一個Word文檔名,返回第(1)步,繼續(xù)循環(huán),否則,當 Len(str-FileName)=0時,結束循環(huán)。

        3.3 算法實現(xiàn)及主程序

        下面,通過對Excel中的讀取數(shù)據(jù)按鈕添加單擊事件,實現(xiàn)算法。具體代碼如下所示:

        以上程序是針對圖1所示的調查問卷編寫的,要正常運行,必須在Excel中準備好Sheet名稱和每個Sheet中的表頭。如果調查問卷的形式、內(nèi)容發(fā)生了變化,需要修改程序中的Sheet名稱數(shù)組、個人信息數(shù)組和部分程序。在 Excel中還需要建立對應的Sheet和每個Sheet的表頭。也就是說,根據(jù)Word文檔的不同,只需稍作修改,程序即可適用。

        4 結束語

        本文介紹了VBA編程技術,并利用VBA技術解決在大量的調查問卷Word文檔中自動讀取數(shù)據(jù)到Excel文件的方法。這種方法可以用在其它類似的文檔統(tǒng)計分析中。擴展這項技術,也可以將Word格式文檔中的信息自動讀取數(shù)據(jù)到Access數(shù)據(jù)庫中。通過運行自動讀取程序,可以實現(xiàn)迅速自動獲取大量分散在各文件中的數(shù)據(jù),極大地提高了相關領域的工作效率,有效地降低了工作強度,值得推廣。

        [1]彭小平,顏清.Word中基于VBA的實驗數(shù)據(jù)自動轉換技術[J].計算機與現(xiàn)代化,2006(4):7-8,23.

        [2]孫曉偉,畢曉清,吳洪越,等.基于DOM和VBA的Word文檔數(shù)據(jù)交互式抽?。跩].計算機應用與軟件,2013,30(2):113-115.

        [3]John Paul Mueller.VBA for Dummies[M].Wiley Publishing,2007.

        [4]廖金輝,鄧勝軍.Excel工作表與Word表格的數(shù)據(jù)交換[J].信息技術,2006,30(5):20-23.

        [5]韓愛慶,馬星光,張未未,等.基于VBA的Word格式轉為Unicode格式的方法[J].計算機與現(xiàn)代化,2013(9):236-238.

        [6]林宮.基于OLE和VBA的數(shù)據(jù)庫與Word數(shù)據(jù)交互研究[J].福州大學學報:自然科學版,2006,34(6):831-835.

        [7]Microsoft.Office for Developers[EB/OL].http://msdn.microsoft.com/en-us/office/,2013-09-30.

        [8]Excel Home.Excel應用大全[M].北京:人民郵電出版社,2008:785-809.

        [9]顧海花.VBA在Word和Excel數(shù)據(jù)交互中的應用[J].南通職業(yè)大學學報,2003,17(3):49-50.

        [10]王殿佑.Word VBA應用程序在處理文檔未知重復內(nèi)容中的應用[J].電腦編程技巧與維護,2010(2):19-20.

        [11]楊曉亮.Word VBA高效排版范例應用[M].北京:中國青年出版社,2005.

        [12]范曉燕,周濤峰.利用VBA實現(xiàn)Word文檔的批量拆分與合并[J].電腦知識與技術,2011,7(7):1554-1556.

        [13]湯懷.基于VBA技術的Word智能評分的設計與實現(xiàn)[J].福建電腦,2011,27(6):117-118,156.

        [14]楊曉云,趙希武.基于VBA學位論文格式模板的設計[J].太原大學教育學院學報,2012,30(3):88-91.

        猜你喜歡
        內(nèi)容信息
        內(nèi)容回顧溫故知新
        科學大眾(2022年11期)2022-06-21 09:20:52
        內(nèi)容回顧 溫故知新
        科學大眾(2021年21期)2022-01-18 05:53:48
        內(nèi)容回顧溫故知新
        科學大眾(2021年17期)2021-10-14 08:34:02
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        主要內(nèi)容
        臺聲(2016年2期)2016-09-16 01:06:53
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        健康信息(九則)
        祝您健康(1987年2期)1987-12-30 09:52:28
        健康信息(十則)
        祝您健康(1986年5期)1986-12-30 09:52:22
        日韩av无码中文字幕| 丰满少妇人妻无码超清 | 国产不卡av一区二区三区| 成人影院在线视频免费观看| 内射少妇36p亚洲区| 五月中文字幕| 大红酸枝极品老料颜色| 久久天堂一区二区三区av| 人妻少妇精品无码专区二区 | 国产一区二区三区在线男友| 美女露内裤扒开腿让男人桶无遮挡| av无码久久久久久不卡网站| 无码8090精品久久一区| 成av人大片免费看的网站| 97碰碰碰人妻无码视频| 亚洲熟妇色xxxxx欧美老妇y| 网友自拍人妻一区二区三区三州| 国产成人自拍视频播放| 亚洲成av人影院| 91福利视频免费| 国产成人自拍视频在线观看网站| 日本一区二区三级在线观看| 国产精品一区二区久久不卡| 欧美三级超在线视频| 凹凸世界视频a一二三| 成人a级视频在线播放| 国产亚洲美女精品久久久 | av男人天堂网在线观看| 亚洲va韩国va欧美va| 在线永久看片免费的视频| 无遮挡很爽视频在线观看| 大量漂亮人妻被中出中文字幕| 天天鲁在视频在线观看| 国内精品人妻无码久久久影院94 | 国产片三级视频播放| 免费人成网站在线视频| 亚洲人成色7777在线观看| 免费在线视频一区| 国产91在线精品观看| 粗大的内捧猛烈进出看视频| 久久ri精品高清一区二区三区|