Делаем выборку в MS Word


© 2006, Денис Хворостин


Продолжаем тему полезных макросов для MS Word. Сегодняшний макрос позволяет вырезать из вордовских документов определенные строки и записывать их в отдельный файл, который потом можно сохранить. Представьте, что в документе, с которым вы работаете 50000 строк (а это несколько сотен страниц). Некоторые из строк представляют собой название страны, после которой идет словосочетание "language situation". И вот вам нужно вырезать все подобные строки, и при этом сохранить названия стран.

В рассматриваемом случае есть очевидный маркер для искомых строк - "language situation": именно по нему мы будем искать нужные строки. Осталось только добавить условие, при соблюдении которого процедура будет повторяться и макрос готов:


Visual Basic

Sub Выборка()
'
' Макрос записан 22.12.06 Denis Khvorostin
'
    Application.Keyboard (1033)
    Selection.Find.ClearFormatting
qw1:
    With Selection.Find
        .ClearFormatting
        .Wrap = wdFindStop
        .Forward = True
	.Format:=False
        .Execute FindText:="language situation"  
            If .Found = True Then
            Selection.Find.Execute
            Selection.HomeKey Unit:=wdLine
            Selection.EndKey Unit:=wdLine, Extend:=wdExtend
            Selection.Cut
            Windows(2).Activate
            Selection.Paste
            Windows(1).Activate
            GoTo qw1
        End If
            If .Found = False Then
            GoTo qw2
        End If
    End With
qw2:
End Sub

Этот макрос ищет в тексте строки, содержащие словосочетание "language situation". Перед запуском стоит создать еще один документ - в него будут вставляться вырезанные из файла-исходника строки. Само собой, вы можете изменить текст под себя. Можно, к примеру, автоматизировать создание файла-приемника и его сохранение. Однако же это попробуйте сделать самостоятельно.


Раздел: Компьютер | Добавлено 22 декабря 2006 г.


Хостинг от uCoz