資源描述:
《vba進(jìn)階撐桿跳-應(yīng)用案例集錦》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VBA進(jìn)階撐桿跳——應(yīng)用案例集錦文/安平一、VBA入門熱身2004年《電腦愛好者》22期——24期連續(xù)為廣大讀者介紹了VBA的相關(guān)知識(shí)和比較經(jīng)典的實(shí)例,由于版面的限制,而且VBA開發(fā)涉及的內(nèi)容又非常寬泛,在此,我們把更多的精彩實(shí)例奉獻(xiàn)給大家。另外,在此期間我們也收到很多讀者的投稿,一并奉上。關(guān)于Office?VBA的入門知識(shí)請(qǐng)參考2004年下半年《電腦愛好者合訂本》的正文分冊(cè)。二、實(shí)例之Word批量替換眾所周知,Word提供了強(qiáng)大的替換功能,可方便地滿足多種替換需求,但細(xì)心的讀者會(huì)發(fā)現(xiàn),在Word中每次僅能操作一對(duì)文字內(nèi)容(即“替換”和“替換為”的內(nèi)容),當(dāng)需對(duì)文字資料進(jìn)行多內(nèi)
2、容的批量替換時(shí),則需逐個(gè)操作,比較煩瑣。那么略有VBA知識(shí)的讀者或許會(huì)通過(guò)錄制宏的方法來(lái)獲取替換操作的代碼,然后反復(fù)復(fù)制、修改這些代碼,實(shí)現(xiàn)連續(xù)替換的需求,但該方法缺乏靈活性,如需修改批量替換的內(nèi)容,將非常煩瑣。通過(guò)VBA和Word加載模板的方法,筆者為Word開發(fā)了一個(gè)“超級(jí)替換”的工具,該工具不僅可批量替換,且可方便地修改替換內(nèi)容。2.1實(shí)例效果本文程序通過(guò)工具欄的按鈕觸發(fā)運(yùn)行,工具欄的按鈕如圖2-1-1所示:圖2-1-1圖2-1-1單擊該按鈕后,將進(jìn)行批量替換的操作,即連續(xù)替換一系列指定的內(nèi)容,大大提高了工作效率。2.2實(shí)例知識(shí)點(diǎn)筆者在每個(gè)實(shí)例中均會(huì)對(duì)本實(shí)例VBA程序代碼
3、中將使用的VBA開發(fā)對(duì)象、VBA常用函數(shù)和語(yǔ)法等知識(shí)先行介紹,讀者可在實(shí)例操作中參考,下同。2.2.1相關(guān)對(duì)象1、Paragraphs對(duì)象集合該對(duì)象集合代表指定文檔、區(qū)域或選擇內(nèi)容的所有段落。2、Selection對(duì)象該對(duì)象代表當(dāng)前選擇的內(nèi)容,即文檔中被選擇(高亮度顯示)的區(qū)域,如無(wú)選擇內(nèi)容,則代表插入點(diǎn)。Word應(yīng)用程序中僅存在一個(gè)當(dāng)前的Selection對(duì)象。3、Find對(duì)象該對(duì)象代表查找操作的執(zhí)行條件,其屬性、方法和“替換”對(duì)話框中選項(xiàng)一致,具體如下所述:(1)Font屬性該屬性由于返回或設(shè)置Font對(duì)象,代表指定對(duì)象的字符格式。(2)Wrap屬性該屬性用于設(shè)置在搜索時(shí)進(jìn)
4、行的相關(guān)操作,可通過(guò)常量進(jìn)行賦值,具體如下所述:A、wdFindAsk常量:搜索完畢后,顯示是否搜索文檔的其他部分的消息框。B、wdFindContinue常量:搜索完畢后,繼續(xù)執(zhí)行。C、wdFindStop常量:搜索完畢后,停止執(zhí)行。(3)Format屬性該屬性用于設(shè)置是否在查找操作中包含格式。(4)MatchCase屬性該屬性用于設(shè)置在查找時(shí)是否區(qū)分大、小寫。(5)MatchWholeWord屬性該屬性用于設(shè)置是否在查找時(shí)僅對(duì)完整單詞進(jìn)行匹配。(6)MatchByte屬性該屬性用于設(shè)置是否在查找時(shí)區(qū)分全角和半角的字符。(7)MatchWildcards屬性該屬性用于設(shè)置是否
5、在查找時(shí)允許使用查找通配符。(8)MatchSoundsLike屬性該屬性用于設(shè)置是否在查找時(shí)返回與待查文字發(fā)音相近的單詞。(9)Execute方法該方法用于執(zhí)行替換或查找操作。(10)ClearFormatting方法該方法用于清除替換或查找的內(nèi)容。4、Replacement對(duì)象該對(duì)象代表查找和替換操作的替換條件,其屬性、方法和“查找和替換”對(duì)話框中的選項(xiàng)一致,具體如下所述:(1)Text屬性該屬性用于設(shè)置選擇內(nèi)容中需查找或替換的文本。2.2.2相關(guān)函數(shù)1、Split函數(shù)該函數(shù)用于按指定分隔符拆分字符串,并返回下標(biāo)從零開始的一維數(shù)組。其語(yǔ)法如下所示:Split(express
6、ion[,delimiter[,limit[,compare]]])其常用參數(shù)作用如下所述:(1)expression參數(shù):該參數(shù)用于設(shè)置需拆分的字符串。(2)delimiter參數(shù):該參數(shù)用于設(shè)置分隔符字符串。2、Replace函數(shù)該函數(shù)返回指定子字符串被替換后的字符串。其語(yǔ)法如下所示:Replace(expression,find,replace[,start[,count[,compare]]])其常用參數(shù)作用如下所述:(1)expression參數(shù):該參數(shù)用于設(shè)置需替換的字符串。(2)find參數(shù):該參數(shù)用于設(shè)置需查找的子字符串。(3)replace參數(shù):該參數(shù)用于設(shè)置
7、需替換的子字符串。(4)start參數(shù):該參數(shù)用于設(shè)置查找的開始位置。2.3實(shí)例編制步驟2.3.1程序設(shè)計(jì)思路由程序功能需求和前述知識(shí)點(diǎn)可得設(shè)計(jì)思路,具體如下所述:1、按特定格式輸入替換和被替換的內(nèi)容。2、編制批量替換的代碼,在代碼中拆分替換和被替換的內(nèi)容。3、保存為模板并加載。2.3.2輸入替換和被替換的內(nèi)容新建Word文件,按特定的格式輸入替換和被替換的內(nèi)容。本文實(shí)例程序使用“===”(即三個(gè)等號(hào))做為分隔符。在輸入內(nèi)容時(shí),分隔符的左面為需替換的內(nèi)容,右面為替換后的內(nèi)容,每行輸入一對(duì)替換