2017-02-06 16 views
0

Я пытаюсь заполнить документ слова данными из таблицы Excel. Однако, когда я запускаю код ниже, «sitename» заменяется данными из ячеек «B2», «B3» и рядом других ячеек, которые я использовал для замены других слов. Я просто хочу, чтобы его заменили ячейкой «B2».поиск заменить несколько слов в слове doc с данными excel

Dim results As Workbook 
Dim wApp 
Dim wDoc 
Private Sub populateSite() 
    With wDoc 
     'Site ID 
     .Application.Selection.Find.Text = "<<sitename>>" 
     .Application.Selection.Find.Execute 
     .Application.Selection = results.Sheets(1).Range("B2") 
     .Application.Selection.EndOf 

     'Transformer ID 
     .Application.Selection.Find.Text = "<<TXname>>" 
     .Application.Selection.Find.Execute 
     .Application.Selection = results.Sheets(1).Range("B3") 
     .Application.Selection.EndOf 
    End With 
End Sub 

Sub PopulateReport() 
    Set wApp = CreateObject("Word.Application") 
    Set wDoc = wApp.documents.Open("fileNameAndPath") 
    wApp.Visible = True 
    Call populateSite 
End Sub 

вот link к части слова док

ответ

0

мне просто нужно добавить

Set results = ActiveWorkbook 

перед вызовом функции populateSite. После этого функция работает нормально.

Если это не поможет, отправьте снимок экрана файла слова.

+0

Я добавил эту строку, но теперь она удаляет только текст <> и ничего не заменяет. Я включил скриншот в мое редактирование –

+0

Вы пытались выполнить поиск/замещение. https://msdn.microsoft.com/en-us/library/office/aa211953(v=office.11).aspx – Shmukko

+0

Я поместил закладки по всему слову и просто заменил их. Это намного более утомительно, но макрос работает нормально. благодаря –