从MS Excel中的列表中在MS Word中多次查找和替换

时间:2016-10-12 12:53:55

标签: excel vba replace ms-word find

嗨,我真的希望你可以帮助我,因为我已经尝试了一段时间并且没有太多运气。

我在Excel中有一个列表,例如,文件1(例如,A1 - B10,2列单词 - A列中的单词将被B列中的单词替换。)

我有一个单词文件,例如文件2,我想在excel文件中运行单词,以便excel文件的A列中的任何单词的每个外观都被列中的相应单词替换乙

我非常感谢你能给我的任何帮助,非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望将Word文档中的单词替换为Excel文件中列出的单词。如果是这样,这个宏应该可以解决这个问题(MS Word的宏):

Function findAndReplace()
Dim xlApp As Object
Dim xlWB As Object
Dim xlWS As Object

Dim i As Integer, j As Integer
Dim lastRow As Integer

'Set Objects
Set xlApp = CreateObject("Excel.Application")
Set xlWB = xlApp.Workbooks.Open("PATH TO EXCEL FILE") 'Replace String with path to Excel File
Set xlWS = xlWB.Worksheets("Name of Worksheet") 'Replace String with your Worksheet Name

'get last row of excel file
lastRow = xlWS.UsedRange.SpecialCells(xlCellTypeLastCell).Row

'loop through all words in Word Document
For i = 1 To ThisDocument.Words.Count - 1 Step 1

    'Loop through cells in Excel File
    For j = 1 To lastRow Step 1

        'Replace Word value in Column B of Excel File
        ThisDocument.Words(i) = Replace(ThisDocument.Words(i), xlWS.Cells(j, 1).Value, xlWS.Cells(j, 2).Value)
    Next j
Next i

'Close Excel and Cleanup
Set xlWS = Nothing
xlWB.Close True
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing
End Function

如果我理解你错了,请告诉我们你想要做的更多细节。