日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VBA:结合查找替换批量检索关键词

發布時間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VBA:结合查找替换批量检索关键词 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、問題假設

1.待處理文件

2.假設處理要求

二、關鍵思路

1.遍歷Excel單元格

2.Word中查找替換

三、參考代碼

四、操作步驟及效果

1.步驟

(1)準備

(2)開始運行

(3)選擇文件

(4)點擊確定,處理完成

2.驗證

五、代碼源文件


注意:因為此問題可以結合大學日常用得較多的Excel,作為存儲多個關鍵詞的載體。此文便在Excel中寫代碼,也方便操作。

一、問題假設

1.待處理文件

假如現在有一個文件夾,里面有一篇Word文檔(右);需要檢索的詞記錄在相同文件夾下的另一個Excel工作簿中的Sheet1這張表格的A列(左,第一行是標題,不參與檢索),即查找的內容,替換的內容為第B列,C列可以選擇是否用通配符替換。

示例文件夾及其文件

2.假設處理要求

需要將上圖所有Word文件中包含Excel表格里的關鍵詞所地方左右加上中括號。

二、關鍵思路

1.遍歷Excel單元格

遍歷存放多個關鍵詞的Excel表格“關鍵詞.xlsx”的Sheet1的A列的單元格。

2.Word中查找替換

每個單元格的值作為Word查找的內容,在Word中將查找到的區域標記在中括號內。

參數設置:

查找替換參數

這里前面兩個關鍵詞用的是不勾選通配符替換,第三個是通配符替換,有時寫法上可能稍有差別。

關于Word(通配符)替換的內容,可以關注我的專欄

Word(通配符)替換https://www.zhihu.com/column/c_1517437402993397760

了解之前收錄的更多典型示例。

三、參考代碼

Rem 此處以下為主程序 Sub Word批量替換()Dim sht As WorksheetDim wdApp As ObjectDim fd As FileDialogDim fso As ObjectDim fNameDim aDocDim arrSet sht = ThisWorkbook.Sheets("sheet1")Set wdApp = CreateObject("Word.Application")Set fd = Application.FileDialog(msoFileDialogFilePicker)Set fso = CreateObject("Scripting.FileSystemObject")arr = sht.Cells(1, 1).CurrentRegionWith fd.AllowMultiSelect = True.InitialFileName = ThisWorkbook.Path.Title = "選擇Word文件(可多選)".Filters.Clear.Filters.Add "所有文件", "*.*", 1.Filters.Add "Word文件", "*.doc*;*.dot*", 2If .Show ThenApplication.ScreenUpdating = FalseFor Each fName In .SelectedItemsOn Error Resume NextIf fso.GetExtensionName(fName) Like "do[ct]*" And Not fName Like "*~$*" ThenSet aDoc = wdApp.Documents.Open(fName)For i = LBound(arr, 1) + 1 To UBound(arr, 1)Call 處理過程(aDoc, CStr(arr(i, 1)), CStr(arr(i, 2)), CBool(arr(i, 3)))NextaDoc.Close -1j = j + 1Debug.Print j, fName, "處理完成"End IfNextApplication.ScreenUpdating = TrueEnd IfEnd WithSet sht = NothingSet fd = NothingSet wdApp = NothingSet fso = NothingSet aDoc = NothingMsgBox Format(j, "完成 共處理了0個Word文件") End SubRem 此處以下為替換過程 Sub 處理過程(aDoc, findText As String, Optional replaceText As String = "^&", Optional wildCards As Boolean = False)On Error GoTo err1With aDoc.Content.Find.ClearFormatting.Forward = True.Wrap = 0.MatchWildCards = wildCards.Text = findText.Replacement.ClearFormatting.Replacement.Text = replaceText.Execute Replace:=2End WithExit Suberr1:Debug.Print Err.Description End Sub

四、操作步驟及效果

1.步驟

(1)準備

打開Excel工作簿【關鍵詞.xlsm】,同時關閉掉需要處理的Word文件

(2)開始運行

點擊Excel表格中的【執 行】或者在代碼主程序范圍內點擊運行按鈕

開始運行的兩種方法

(3)選擇文件

按下圖所示:選擇要處理的Word文件(可多選),點擊【打開】

選擇文件并打開

(4)點擊確定,處理完成

點擊確定

注意:因為有一個文件在測試的時候處理了,此處我只選擇了2個文件處理,是沒有問題的。

2.驗證

打開剛剛處理過的Word文件:

發現每一個Word文件第一處符合要求的關鍵詞已經按要求標記/替換完成。

五、代碼源文件

鏈接:?https://pan.baidu.com/s/1Z8vL08TljVpBlbAYq_Ly1g?pwd=ypkd?提取碼: ypkd 復制這段內容后打開百度網盤手機App,操作更方便哦

源文件二維碼

打開文件,在表格中填好查找替換相關參數,然后直接點擊操作即可。

總結

以上是生活随笔為你收集整理的VBA:结合查找替换批量检索关键词的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。