Вопрос № 95956: ПРИВЕТ ВСЕМ!
помогите с написанием макроса:
1.Есть документ WORD, при нажатии на клавиши CTRL+F открывается окно поиска, в котором ставим галочку в поле "выделить все элементы, найденные в". В результате во всем документе выделяетс...
Вопрос № 95.956
ПРИВЕТ ВСЕМ!
помогите с написанием макроса:
1.Есть документ WORD, при нажатии на клавиши CTRL+F открывается окно поиска, в котором ставим галочку в поле "выделить все элементы, найденные в". В результате во всем документе выделяется искомый текст. МОжно ли написать макрос, который бы выводил на печать все страницы, на которых был найдет этот текст?
2. Или копировал бы все найденные страницы в отдельный файл WORD и автоматически сохранял его в папку С:Print, и файл бы назывался именем искомого текста.
3. Или еще вариант - макрос, который бы искал в документе этот текст, - выводил на печать страницу на которой нашел его, затем искал следующую страницу, и тоже выводил на печать, и так до конца документа, и потом сам останавливался. (Либо как в пункте 2 - копировал последовательно все найденные страницы с этим текстом в отдельный документ и сохранял его )
Помогите если не трудно.
Заранее спасибо.
Отвечает: Черников Игорь Владимирович
Здравствуйте, Konstantin1910!
Вот Ваш макрос :-) (Ответ на вопрос №1)
Sub macros1()
Selection.EndKey Unit:=wdStory
Selection.TypeText Text:=Chr(182)
Selection.HomeKey Unit:=wdStory
КоличествоСтраниц = ActiveDocument.BuiltInDocumentProperties(14)
слово = InputBox("Введите искомое слово или выражение", "Поиск и печать")
10 simvol$ = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + 1)
Искомое = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + Len(слово))
Selection.MoveRight Unit:=wdCharacter, Count:=1
If слово = Искомое Then
Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
Application.Browser.Next
ТекущаяСтраница = Selection.Information(wdActiveEndPageNumber)
If ТекущаяСтраница = КоличествоСтраниц Then
Selection.EndKey Unit:=wdStory
Selection.Delete
End
End If
End If
ТекущаяСтраница = Selection.Information(wdActiveEndPageNumber)
If simvol$ = Chr(182) Then
Selection.Delete
End
End If
GoTo 10
End Sub
--------- От каждого по способностям, каждому по труду