Здравствуйте. Возможно ли написать макрос, который бы копировал в отдельный файл текст в заливке, при каждом выполнении макроса текст в заливке должен копироваться в один и тот же файл с добавлением.
Здравствуйте. Возможно ли написать макрос, который бы копировал в отдельный файл текст в заливке, при каждом выполнении макроса текст в заливке должен копироваться в один и тот же файл с добавлением.Mark1976
Да, опираясь на свойство диапазона Range.HighlightColorIndex = wdYellow (в вашем случае находите диапазон слов, в котором первое слово маркировано, остальные последовательно маркированы, а последнее слово содержит после себя или конец документа или не маркированное слово. Соответственно, задаёте диапазон символов от первого символа первого слова по последний символ последнего слова и копируете в новый документ. И так пока всё не скопируете.
Да, опираясь на свойство диапазона Range.HighlightColorIndex = wdYellow (в вашем случае находите диапазон слов, в котором первое слово маркировано, остальные последовательно маркированы, а последнее слово содержит после себя или конец документа или не маркированное слово. Соответственно, задаёте диапазон символов от первого символа первого слова по последний символ последнего слова и копируете в новый документ. И так пока всё не скопируете.anvg
ну я б в цикле поискал Find.HitHighlight и найденное переносил. И тоже согласен с Андреем - на вопрос можно ответ или да или нет. Судя по всему вы хотите получить готовый макрос, что совершенно о другом.
[vba]
Код
Sub CopyHiglighted() Application.ScreenUpdating = False
Set Sourcedoc = ThisDocument Set Myrange = ThisDocument.Content Set newDoc = Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=0) Sourcedoc.Activate With Myrange With .Find .ClearFormatting .Highlight = True '.Font.Name = "Times New Roman" .Text = "" '.Replacement.Text = "\1" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .Execute
If Not Myrange Is Nothing Then Start = Myrange.Start Myrange.Copy newDoc.Content.InsertAfter vbCrLf newDoc.Range(Start:=newDoc.Content.End - 1, _ End:=newDoc.Content.End).Paste Do .Execute If Myrange Is Nothing Or Myrange.Start = Start Then Exit Do Myrange.Copy newDoc.Content.InsertAfter vbCrLf newDoc.Range(Start:=newDoc.Content.End - 1, _ End:=newDoc.Content.End - 1).Paste Loop End If End With End With newDoc.Content.HighlightColorIndex = wdNoHighlight newDoc.Activate Application.ScreenUpdating = True End Sub
[/vba]
ну я б в цикле поискал Find.HitHighlight и найденное переносил. И тоже согласен с Андреем - на вопрос можно ответ или да или нет. Судя по всему вы хотите получить готовый макрос, что совершенно о другом.
[vba]
Код
Sub CopyHiglighted() Application.ScreenUpdating = False
Set Sourcedoc = ThisDocument Set Myrange = ThisDocument.Content Set newDoc = Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=0) Sourcedoc.Activate With Myrange With .Find .ClearFormatting .Highlight = True '.Font.Name = "Times New Roman" .Text = "" '.Replacement.Text = "\1" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .Execute
If Not Myrange Is Nothing Then Start = Myrange.Start Myrange.Copy newDoc.Content.InsertAfter vbCrLf newDoc.Range(Start:=newDoc.Content.End - 1, _ End:=newDoc.Content.End).Paste Do .Execute If Myrange Is Nothing Or Myrange.Start = Start Then Exit Do Myrange.Copy newDoc.Content.InsertAfter vbCrLf newDoc.Range(Start:=newDoc.Content.End - 1, _ End:=newDoc.Content.End - 1).Paste Loop End If End With End With newDoc.Content.HighlightColorIndex = wdNoHighlight newDoc.Activate Application.ScreenUpdating = True End Sub
Андрей, 10 - это в Excel. :-) Word - он же текстовый процессор, тут можно и больше :-) , да и добавить то пришлось к коду предыдущей темы всего ничего .
Андрей, 10 - это в Excel. :-) Word - он же текстовый процессор, тут можно и больше :-) , да и добавить то пришлось к коду предыдущей темы всего ничего .bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Воскресенье, 22.03.2020, 21:16