Как извлечь содержимое между двумя конкретными словами из одного документа Word в другой

Поделись сейчас:

В этой статье мы покажем вам, как извлечь содержимое между двумя конкретными словами из одного документа Word в другой.Извлечение содержимого между двумя конкретными словами из одного документа Word в другой

Время от времени вам придется извлекать содержимое между определенными словами в некоторых случаях. Ниже приведены 2 возможных случая, с которыми вы можете столкнуться:

  1. Во-первых, в таблице Word для всех ячеек в столбце, начинающихся и заканчивающихся одними и теми же двумя словами, вам может потребоваться извлечь только другую среднюю часть, например ниже:   Извлечь содержимое таблицы
  2. Во-вторых, в некоторых файлах журнала с несколькими записями вам, вероятно, придется извлечь только те, которые вам нужны. Затем вы можете указать первое и последнее слово и использовать метод I этой статьи, чтобы получить нужное вам содержимое.

Для выполнения такой задачи мы предпочитаем запускать макрос Word. Просто выполните следующие действия.

Извлечь содержимое между двумя словами

  1. В первую очередь, нажмите «Alt + F11», чтобы открыть редактор VBA в Word.
  2. Затем нажмите «Обычный» проект в левом столбце.
  3. Затем нажмите вкладку «Вставить» в строке меню.
  4. Выберите «Модуль» в раскрывающемся меню.Нажмите «Обычный» -> нажмите «Вставить» -> нажмите «Модуль».
  5. Дважды щелкните, чтобы войти в пространство кодирования нового модуля, и вставьте туда эти коды:
Sub ExtractContentsBetweenTwoWords()
  Dim strFirstWord As String
  Dim strLastWord As String
  Dim objDoc As Document
  Dim objDocAdd As Document
  Dim objRange As Range
 
  ' Initialize and create a new blank document.
  Set objDoc = ActiveDocument
  Set objDocAdd = Documents.Add
  objDoc.Activate
 
  ' Enter the first and last words.
  strFirstWord = InputBox("Enter the first word:", "First Word")
  strLastWord = InputBox("Enter the last word:", "Last Word")
 
  ' Find and extract contents and insert them into the new document.
  With Selection
    .HomeKey Unit:=wdStory
    With Selection.Find
      .ClearFormatting
      .Text = strFirstWord & "*" & strLastWord
      .MatchWildcards = True
      .MatchWholeWord = True
 
      Do While .Execute
        Selection.MoveStart Unit:=wdCharacter, Count:=Len(strFirstWord)
        Selection.MoveEnd Unit:=wdCharacter, Count:=-Len(strLastWord)
 
        objDocAdd.Range.InsertAfter Selection.Range & vbNewLine
        Selection.Collapse wdCollapseEnd
      Loop
    End With
  End With
End Sub
  1. Затем нажмите «Выполнить» или нажмите «F5», чтобы выполнить коды.Вставьте коды-> Нажмите «Выполнить».
  2. В поле ввода «Первое слово» введите первое слово. Помните, что макрос чувствителен к регистру. Поэтому инициализируйте слово, если это необходимо.
  3. Затем нажмите «ОК», чтобы перейти в поле «Последнее слово».Введите первое слово-> нажмите «ОК»
  4. Аналогичным образом введите слово и нажмите «ОК». Не забудьте следовать тому же правилу инициализации слова согласно.

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

Извлечь содержимое в скобках

Как мы уже упоминали, часть содержимого заключена в скобки. Тогда вот что вы можете сделать:

  1. Для начала вам необходимо выполнить описанные выше шаги по установке и запуску макроса.
  2. Теперь в зависимости от типа кронштейна вы можете выбрать соответствующий макрос ниже:

Для фигурных скобок {}:

Sub ExtractContentsInBraces()
  Dim objDoc As Document
  Dim objDocAdd As Document
  Dim objRange As Range
 
  Set objDoc = ActiveDocument
  Set objDocAdd = Documents.Add
  objDoc.Activate
 
  With Selection
    .HomeKey Unit:=wdStory
    With Selection.Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Text = "\{(*)\}"
      .MatchWildcards = True
 
      Do While .Execute
        Selection.MoveStart Unit:=wdCharacter, Count:=1
        Selection.MoveEnd Unit:=wdCharacter, Count:=-1
 
        objDocAdd.Range.InsertAfter Selection.Range & vbNewLine
        Selection.Collapse wdCollapseEnd
      Loop
    End With
  End With
End Sub
  1. Для квадратных скобок [ ]:

Просто замените эту строку кода:

.Text = "\{(*)\}"

С:

.Text =\[(*)\]
  1. Затем для скобок():

Замените ту же строку кода на шаге 3 на:

.Text = "\((*)\)"
  1. И для угловых скобок <>:

Вместо этого используйте эту строку:

.Text = "\<(*)\>"

Справиться с катастрофой данных

В таком высокоскоростном Word, как наш, очень важно постоянно помнить о безопасности данных. Более того, нужно знать, что делать во время информационной катастрофы. И ваш лучший выбор - получить ремонт документов инструмент.

Об авторе:

Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая xls восстановление и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.