Понедельник, Май 25, 2020

Создать,записать,сохранить,найти,заменить .

Sub CreateOpenFindInWord()
'Контстанты о которых Excel не знает. Без них код не работает
   Const wdReplaceAll = 2
   Const wdFindContinue = 1
   Const wdOpenFormatAuto = 0
'Зпускаем процесс WINWORD.EXE
   Set objWord = CreateObject("Word.Application")
'Делаем его видимым
   objWord.Visible = True
'Добовляем новую колекцию документов
   objWord.Documents.Add
'Получаем указатель на Selection
   Set objSelection = objWord.Selection
'Печатаем в документ абы што
   objSelection.TypeText Text:="Привет из Excel :)"
   objWord.ActiveDocument.SaveAs Filename:="d:\myDoc.doc"
'Убиваем процесс в памяти
   objWord.Quit
'Убиваем указатель на WINWORD
   Set objWord = Nothing
'********************Часть номер 2*********************************
''Зпускаем процесс WINWORD.EXE
   Set objWord = CreateObject("Word.Application")
'Делаем его видимым
   objWord.Visible = True
'Открываем файл, который до этого сохранили и заодно получаем на него указатель
   Set objDoc = objWord.Documents.Open("d:\myDoc.doc")
'Получаем указатель на Selection
   Set objSelection = objWord.Selection
'Дальше все скопировано из записи макроса в Word. Только добавлен указатель на
'наш открытый документ objSelection.
   objSelection.Find.ClearFormatting
   objSelection.Find.Replacement.ClearFormatting
   With objSelection.Find
      .Text = "Привет"
      .Replacement.Text = "Пока"
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
    End With
    objSelection.Find.Execute Replace:=wdReplaceAll
'Сохраняем документ ворда
    objWord.ActiveDocument.SaveAs Filename:="d:\myDoc.doc"
'Убиваем процесс в памяти
    objWord.Quit
    Set objWord = Nothing
End Sub

Back to Top