Многократный поиск и замена в 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
Если я вас неправильно понял, пожалуйста, дайте нам более подробную информацию о том, что вы пытаетесь сделать.