• 
    

    
    

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

      批量Word文檔全文檢索的快速實(shí)現(xiàn)

      2013-10-10 07:32:06梁海珍
      關(guān)鍵詞:文本框文件夾調(diào)用

      梁海珍

      (武警指揮學(xué)院,天津 300250)

      0 引言

      Word文檔是日常工作中使用較多的文檔格式之一,在實(shí)際應(yīng)用中,用戶希望一些應(yīng)用程序也能夠讀取Word文檔內(nèi)容,為辦公帶來便利。而有時(shí)候在應(yīng)用程序中不需要打開Word文檔,只需要查找文檔中是否含有某個(gè)關(guān)鍵詞,雖然操作系統(tǒng)自帶的搜索功能可以實(shí)現(xiàn)這一要求,但是操作起來比較麻煩,也不便于程序中模塊的相互調(diào)用。如果應(yīng)用程序自帶檢索功能,不僅可以省去與操作系統(tǒng)的搜索功能來回切換的步驟,而且還可將檢索結(jié)果直觀地呈現(xiàn)在應(yīng)用程序中,便于程序中其他模塊調(diào)用這些檢索結(jié)果。

      在應(yīng)用程序中實(shí)現(xiàn)檢索有多種方法,可以調(diào)用操作系統(tǒng)的“搜索”功能來實(shí)現(xiàn),但是需要知道相應(yīng)的接口,對(duì)于初學(xué)者來說比較困難。本文利用VC++實(shí)現(xiàn)在不打開Word文檔的情況下,根據(jù)給定的關(guān)鍵詞,檢索某一給定路徑下的所有Word文檔,并統(tǒng)計(jì)出文檔中有此關(guān)鍵詞的文檔數(shù)量與文檔路徑,并可對(duì)查找出的文檔進(jìn)行編輯修改。

      1 實(shí)現(xiàn)原理

      VC++調(diào)用Microsoft Office產(chǎn)品中提供的OLE Automation自動(dòng)化程序的接口,每一個(gè)Microsoft Office應(yīng)用程序都在dll文件中提供了多種類型庫資源,這種 dll文件叫做目標(biāo)庫(*.olb)。不同版本的應(yīng)用程序其類型庫文件的名字不同,如Word 2003 的為 msword.olb。本例由 VC++調(diào)用Word,參考VBA的方法,需要導(dǎo)入庫文件并導(dǎo)入相關(guān)的類,使用Word中的各種功能。

      2 編程實(shí)現(xiàn)

      本例編程實(shí)現(xiàn)在指定路徑下查找給定關(guān)鍵詞,并統(tǒng)計(jì)出該路徑下符合條件的文檔數(shù)量與路徑,并可對(duì)選定文檔進(jìn)行編輯修改。例程運(yùn)行如圖1所示。其中實(shí)現(xiàn)步驟及各部分主要功能、代碼如下:

      2.1 設(shè)置要查找的關(guān)鍵詞

      //以讀取下拉框中的關(guān)鍵詞為例,也可自行輸入

      UpdateData();

      findstr=m_skey;

      我們以查找“研究生”關(guān)鍵詞為例,從下拉框中選取,其運(yùn)行界面如圖1所示。

      2.2 指定要查找的位置

      本例中將某個(gè)路徑下所有文件夾與文件夾中的Word文檔用樹表示出來,用戶可以選定左邊目錄樹中某個(gè)文件夾作為查找范圍。本文以“計(jì)算機(jī)系”文件夾為查找路徑,當(dāng)選中后,當(dāng)前文件夾下的所有Word文檔顯示在右側(cè)“當(dāng)前結(jié)點(diǎn)下的所有Word文檔”列表中,如圖1右上方所示。

      2.3 檢索關(guān)鍵詞

      如果Word文檔中關(guān)鍵詞有的在文本框中,有的在正文中,而用VC調(diào)用Word的Find類對(duì)象后,是找不到文本框中的關(guān)鍵詞的,僅能找到正文中的關(guān)鍵詞。因此需要分別對(duì)正文與文本框進(jìn)行查找。由于VC++操作Word的有關(guān)程序比較多,因此就不再贅述。

      //對(duì)選定路徑下的文檔逐個(gè)查找

      for(int j=0;j

      圖1 例程運(yùn)行界面

      (1)其中,在文檔正文中查找關(guān)鍵詞的主要代碼如下:

      sel=Wordapp.GetSelection(); //Selection 類對(duì)象

      find=sel.GetFind(); //Find 類對(duì)象

      find.ClearFormatting();

      BOOL flag=false; //初始化是否找到關(guān)鍵詞的標(biāo)志

      //以下是有關(guān)參數(shù)設(shè)置

      CComVariant FindText(findstr),

      MatchCase(false),// 區(qū)分大小寫

      MatchWholeWord(true),// 全字匹配

      MatchWildcards(false),// 使用通配符

      MatchSoundsLike(false),// 同音英文

      MatchAllWordForms(false),

      Forward(false),F(xiàn)ormat(false),Replace(false),MatchKashida(false),

      MatchDiacritics(false),MatchAlefHamza(false),MatchControl(false);

      //查找

      flag=find.Execute(&FindText,&MatchCase,

      &MatchWholeWord,

      &MatchWildcards,

      &MatchSoundsLike,

      &Match

      AllWordForms,&For

      ward,&Wrap,

      &Format,&ReplaceWith,&Replace,

      &MatchKashida,&Match-Diacritics,

      &MatchAlefHamza,

      &Match-Control);

      (2)在文檔的文本框中查找關(guān)鍵詞主要代碼如下:

      2.4 檢索結(jié)果

      檢索結(jié)束后,將會(huì)彈出文件數(shù)量統(tǒng)計(jì)結(jié)果,如圖1提示框所示,主要代碼如下:

      CString strcount;

      strcount.Format("檢索完畢,共找到%d 個(gè)文件!",count);

      MessageBox(strcount," 檢索分系統(tǒng)提示",MB_ICONWARNING);

      將符合條件的文檔路徑顯示在右下方“符合條件的文檔”列表中,并可選定列表中的文檔,“打開文檔”進(jìn)行編輯修改,如圖1右下方所示。

      3 小結(jié)

      本文在 VC++6.0、word2003 下調(diào)試通過,實(shí)現(xiàn)了利用VC++對(duì)指定路徑下的word文檔內(nèi)容進(jìn)行關(guān)鍵詞檢索,包括全文和文本框檢索,并可對(duì)選中的Word文檔進(jìn)行打開編輯等操作。當(dāng)文檔數(shù)量很多時(shí),運(yùn)行速度會(huì)比較慢,但本例可以作為簡(jiǎn)單關(guān)鍵詞檢索的參考。為了進(jìn)一步完善系統(tǒng)功能,還可以考慮利用操作系統(tǒng)提供的檢索功能接口來對(duì)更多類型的文檔進(jìn)行檢索。

      [1]云舟工作室.中文版Word2000VBA一冊(cè)通[M].北京:人民郵電出版社,2000.

      [2]Office編程手冊(cè)合集(CHM)[Z].

      [3]梁海珍.批量查找替換的實(shí)現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(4).

      猜你喜歡
      文本框文件夾調(diào)用
      磁力文件夾
      巧用文本框?qū)崿F(xiàn)PPT多圖片排版
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      PPT文本框的另類應(yīng)用
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      調(diào)動(dòng)右鍵 解決文件夾管理三大難題
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      文本框酷變3D效果
      TC一鍵直達(dá)常用文件夾
      電腦迷(2015年1期)2015-04-29 21:24:13
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      宜兴市| 屏东市| 阿图什市| 万安县| 泸定县| 横山县| 子洲县| 临城县| 巴青县| 武宁县| 井冈山市| 顺义区| 静安区| 华阴市| 抚顺市| 伊通| 苏尼特左旗| 石林| 连云港市| 井陉县| 嵊泗县| 揭西县| 昌图县| 永新县| 祥云县| 乌拉特后旗| 库尔勒市| 晋江市| 汝州市| 潮安县| 邯郸市| 海晏县| 拉孜县| 凤冈县| 西畴县| 钟山县| 岳阳县| 嘉荫县| 曲松县| 寿光市| 孝昌县|