• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Excel VBA技術(shù)在批量提取Word表格信息中的應(yīng)用

      2019-10-21 08:33:20鄭培寅曹艷杰余志遠(yuǎn)
      河南科技 2019年16期

      鄭培寅 曹艷杰 余志遠(yuǎn)

      摘 要:Excel和Word為Office辦公軟件的兩種組件,在文字處理、數(shù)據(jù)統(tǒng)計分析方面有著強(qiáng)大的功能。在具體工作中,兩者的數(shù)據(jù)交互極為常見。本文主要介紹在大批量數(shù)據(jù)背景下,通過VBA技術(shù)實(shí)現(xiàn)從Word文檔中提取信息到Excel表格,實(shí)現(xiàn)數(shù)據(jù)的快速、準(zhǔn)確、自動轉(zhuǎn)換。

      關(guān)鍵詞:Excel VBA;Word表格;Excel;批量提取

      中圖分類號:TP391.13文獻(xiàn)標(biāo)識碼:A文章編號:1003-5168(2019)16-0035-02

      Abstract: Excel and Word are two components of Office office software. They have powerful functions in word processing and data statistical analysis. Data interaction between them is very common in work. This paper mainly introduced how to extract information from Word document to Excel table by VBA technology under the background of mass data, so as to realize fast, accurate and automatic conversion of data.

      Keywords: Excel VBA;Word table; Excel;batch extraction

      1 應(yīng)用背景

      目前,Office在各行各業(yè)的應(yīng)用非常廣泛。而Word和Excel作為最常用的兩款工具,具有非常強(qiáng)大的文字和數(shù)據(jù)處理功能,兩者之間的數(shù)據(jù)交換也非常方便,如從Excel表格批量提取數(shù)據(jù)到Word文檔,可以使用Word中的“郵件合并”功能實(shí)現(xiàn)。但是,并不是所有的工作都能通過常規(guī)手段輕松實(shí)現(xiàn),而Office為此提供了各個組件之間交互的工具,即VBA(Visual Basic Application),用于解決一些較為特殊的問題[1]。

      部分單位因之前信息管理的局限性或其他原因,很多數(shù)據(jù)分散地存儲在Word表格中,而Word表格形式的數(shù)據(jù)很難進(jìn)行數(shù)據(jù)查詢、匯總分析等操作,也很難直接作為數(shù)據(jù)源錄入數(shù)據(jù)庫。在面對繁雜、龐大的信息數(shù)據(jù)時,使用常規(guī)方法可能會耗費(fèi)更多的人力和時間成本。此時,借助Office自帶的二次開發(fā)工具VBA將能很好地處理此類問題,極大提高工作效率和準(zhǔn)確度。

      2 應(yīng)用實(shí)例

      在現(xiàn)實(shí)工作中,需要從Word表格中提取信息的情況較多,如個人簡歷、黨員信息、檔案信息及各種申請表、審批表等[2]。本文以某單位檔案標(biāo)簽信息的提取為例,說明如何從大量Word表格中提取信息到Excel。

      表1為某部門檔案標(biāo)簽信息,共有檔案號、管理部門、檔案類型、地址、所有人、存檔日期、保存期限、頁數(shù)等8個字段信息,若按常規(guī)方法將大批量該類文檔中的信息復(fù)制到Excel中,將耗費(fèi)大量精力,并且很難保證正確率。由此,可通過VBA技術(shù)實(shí)現(xiàn)該功能。在使用VBA之前,首先應(yīng)啟用Excel開發(fā)工具功能,同時在宏設(shè)置中選擇啟用所有宏。設(shè)置完成后新建一個Excel文件,在工作簿sheet1中按順序錄入8個字段作為標(biāo)題。

      上述工作完成后,選擇“開發(fā)工具”選項(xiàng)卡,打開Visual Basic編輯器,在編輯器中插入一個模塊,并將下面代碼復(fù)制到模塊中。本案例實(shí)現(xiàn)的代碼如下:

      Sub 提取信息()

      Dim wdApp As Word.Application

      Dim curDoc As Word.Document

      Dim fpath, filename, fn As String

      Dim i As Integer

      Set wdApp = CreateObject("word.Application") ?'新建Word對象

      With Application.FileDialog(msoFileDialogFolderPicker)

      打開Word存放目錄并提取路徑

      If .Show = False Then Exit Sub

      fpath = .SelectedItems(1) & "\"

      End With

      filename = Dir(fpath & "*.docx")

      Do While filename <> ""

      fn = fpath & filename

      Set curDoc = wdApp.Documents.Open(fn) '打開Word文件

      i = 2 ? ?'從表格第2行開始復(fù)制

      Sheet1.Cells(i, 1)=curDoc.Tables(1).Cell(6, 3)

      Sheet1.Cells(i, 2)=curDoc.Tables(1).Cell(1, 1)

      Sheet1.Cells(i, 3)=curDoc.Tables(1).Cell(2, 1)

      Sheet1.Cells(i, 4)=curDoc.Tables(1).Cell(3, 1)

      Sheet1.Cells(i, 5)=curDoc.Tables(1).Cell(4, 1)

      Sheet1.Cells(i, 6)=curDoc.Tables(1).Cell(5, 1)

      Sheet1.Cells(i,7)=curDoc.Tables(1).Cell(5, 3)

      Sheet1.Cells(i,8)=curDoc.Tables(1).Cell(6, 1)

      復(fù)制相應(yīng)表格內(nèi)容到當(dāng)前Excel

      i=i+1

      curDoc.Close False

      filename = Dir '繼續(xù)下一個word文件

      Loop

      wdApp.Quit

      Set wdApp = Nothing

      MsgBox "信息提取完畢!", , "提示"

      End Sub

      上述代碼主要定義了一個Word應(yīng)用程序?qū)ο螅⒋蜷_文件對話框,用戶可以通過對話框選擇Word文檔存放的目錄,并將Word對象指向存在該目錄中的*.docx(可根據(jù)實(shí)際需要修改文件類型)文件,然后從Word文檔的表格中提取相應(yīng)信息到當(dāng)前Excel表格。本實(shí)例假設(shè)每個Word文檔中存放了一個表格,其中curDoc.Tables(1)語句中的“1”即為該Word文檔中的第一個表格。如果每個Word文檔中有多個表格,則可使用curDoc.Tables.Count語句統(tǒng)計該Word文檔中的表格數(shù)量,并選擇提取某個表格中的某些信息。

      在上述代碼復(fù)制到新建的模塊之后,在Excel中插入一個按鈕控件(見圖1),將該控件指向已生成的宏“提取信息”,點(diǎn)擊該按鈕,選擇用戶文件目錄即可開始信息提取。在本實(shí)例中,信息提取后對格式進(jìn)行簡單修改,結(jié)果見表2。提取完成后,即可對Excel表格中的數(shù)據(jù)進(jìn)行匯總分析。

      3 結(jié)語

      應(yīng)用Excel VBA技術(shù)從Word表格中提取信息已在工作中得到廣泛應(yīng)用,并取得了良好的使用效果。特別是目前很多單位都在進(jìn)行數(shù)據(jù)庫的建設(shè)和檔案資料的數(shù)字化,通過Excel向數(shù)據(jù)庫中導(dǎo)入信息是最為常用的方法,因此,該應(yīng)用首先通過VBA技術(shù)將信息提取至Excel,成功解決了采用常規(guī)處理時大量繁雜重復(fù)的工作,提高了工作自動化程度。在實(shí)際工作中,可根據(jù)不同情況具體分析,適當(dāng)修改VBA代碼,以適應(yīng)不同的表格類型,達(dá)到快速準(zhǔn)確提取信息的效果。

      參考文獻(xiàn):

      [1]Excel,Home.Excel 2007 VBA實(shí)戰(zhàn)技巧精粹[M].北京:人民郵電出版社,2013.

      [2]顧?;? VBA在Word和Excel數(shù)據(jù)交互中的應(yīng)用[J].南通職業(yè)大學(xué)學(xué)報,2003(3):49-50.

      安国市| 锡林浩特市| 陆川县| 吉安市| 邵阳市| 茶陵县| 科尔| 卢氏县| 清镇市| 新巴尔虎左旗| 萍乡市| 新密市| 达孜县| 石台县| 女性| 宜章县| 玛曲县| 神农架林区| 平邑县| 阳西县| 张家港市| 汶川县| 邳州市| 江口县| 信丰县| 电白县| 高安市| 鄯善县| 吉木萨尔县| 武城县| 台湾省| 全州县| 南部县| 林芝县| 繁昌县| 穆棱市| 应用必备| 芦溪县| 普安县| 随州市| 靖边县|