В этой статье мы покажем вам, как извлечь содержимое между двумя конкретными словами из одного документа Word в другой.
Время от времени вам придется извлекать содержимое между определенными словами в некоторых случаях. Ниже приведены 2 возможных случая, с которыми вы можете столкнуться:
- Во-первых, в таблице Word для всех ячеек в столбце, начинающихся и заканчивающихся одними и теми же двумя словами, вам может потребоваться извлечь только другую среднюю часть, например ниже:
- Во-вторых, в некоторых файлах журнала с несколькими записями вам, вероятно, придется извлечь только те, которые вам нужны. Затем вы можете указать первое и последнее слово и использовать метод I этой статьи, чтобы получить нужное вам содержимое.
Для выполнения такой задачи мы предпочитаем запускать макрос Word. Просто выполните следующие действия.
Извлечь содержимое между двумя словами
- В первую очередь, нажмите «Alt + F11», чтобы открыть редактор VBA в Word.
- Затем нажмите «Обычный» проект в левом столбце.
- Затем нажмите вкладку «Вставить» в строке меню.
- Выберите «Модуль» в раскрывающемся меню.
- Дважды щелкните, чтобы войти в пространство кодирования нового модуля, и вставьте туда эти коды:
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
- Затем нажмите «Выполнить» или нажмите «F5», чтобы выполнить коды.
- В поле ввода «Первое слово» введите первое слово. Помните, что макрос чувствителен к регистру. Поэтому инициализируйте слово, если это необходимо.
- Затем нажмите «ОК», чтобы перейти в поле «Последнее слово».
- Аналогичным образом введите слово и нажмите «ОК». Не забудьте следовать тому же правилу инициализации слова согласно.
Будет открыт новый документ, и все извлеченное содержимое появится там.
Извлечь содержимое в скобках
Как мы уже упоминали, часть содержимого заключена в скобки. Тогда вот что вы можете сделать:
- Для начала вам необходимо выполнить описанные выше шаги по установке и запуску макроса.
- Теперь в зависимости от типа кронштейна вы можете выбрать соответствующий макрос ниже:
Для фигурных скобок {}:
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
- Для квадратных скобок [ ]:
Просто замените эту строку кода:
.Text = "\{(*)\}"
С:
.Text =\[(*)\]
- Затем для скобок():
Замените ту же строку кода на шаге 3 на:
.Text = "\((*)\)"
- И для угловых скобок <>:
Вместо этого используйте эту строку:
.Text = "\<(*)\>"
Справиться с катастрофой данных
В таком высокоскоростном Word, как наш, очень важно постоянно помнить о безопасности данных. Более того, нужно знать, что делать во время информационной катастрофы. И ваш лучший выбор - получить ремонт документов инструмент.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая xls восстановление и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com




