Многократный поиск и замена в MS Word из списка в MS Excel

Привет, я очень надеюсь, что вы мне поможете, так как я пытался сделать это некоторое время без особой удачи.

У меня есть список в Excel, скажем, файл 1 (скажем, A1 - B10, 2 столбца слов - слова в столбце A заменяются словами в столбце B).

У меня есть документ в слове, скажем, файл 2, который я хочу запустить слова в файле Excel, чтобы каждое появление любых слов, которые находятся в столбце A файла Excel, заменялось соответствующими словами в столбце B.

Я был бы очень признателен за любую помощь, которую вы мне могли бы оказать, большое спасибо.

1 ответ

Если я вас правильно понял, вы хотите заменить слова в документе 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

Если я вас неправильно понял, пожалуйста, дайте нам более подробную информацию о том, что вы пытаетесь сделать.

Другие вопросы по тегам