 |
|
sereja.Laz |
12-11-2014 18:09 2428569 |
В макросе после замены исключить вопрос Wordа
Здравствуйте. Работаю в 2003. Записал макрос, работает, но после замены "Знаков абзаца" в таблице на "пусто", Word задаёт вопрос:"Просмотр выделенного фрагмента закончен. Сделано... замены. Продолжить поиск в оставшейся части документа?" И макрос приостанавливается. Хотелось бы, чтобы Word сам понимал - не нужно! Можно ли что-то дописать?
Код:
Sub Макрос20()
'
' Макрос20 Макрос
' Макрос записан 12.11.2014 Сергей
' Удалить знак абзаца для уменьшения высоты строки
Selection.Find.ClearFormatting
With Selection.Find
.Text = "п/п"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.EndKey Unit:=wdColumn, Extend:=True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory
End Sub
|
Тема была откуда-то перенесена, или я просто просмотрел её создание «по месту»?!
Цитата:
Цитата sereja.Laz
Записал макрос, работает »
|
После записи макрос надо разобрать, подчистить и проверить.
Цитата:
Wrap Property
Returns or sets what happens if the search begins at a point other than the beginning of the document and the end of the document is reached (or vice versa if Forward is set to False) or if the search text isn't found in the specified selection or range. Read/write WdFindWrap.
WdFindWrap can be one of these WdFindWrap constants:- wdFindAsk After searching the selection or range, Word displays a message asking whether to search the remainder of the document.
- wdFindContinue The find operation continues when the beginning or end of the search range is reached.
- wdFindStop The find operation ends when the beginning or end of the search range is reached.
…
|
В первом случае у Вас использовано «wdFindContinue», а вот во втором — «wdFindAsk». Зачем при записи Вы во втором случае задали использование запроса — Вам должно быть виднее.
Скрытый текст
Код:
Option Explicit
Sub Макрос20()
' Макрос20 Макрос
' Макрос записан 12.11.2014 Сергей
' Удалить знак абзаца для уменьшения высоты строки
With Selection
With .Find
.ClearFormatting
.Text = "п/п"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
With .Replacement
.ClearFormatting
.Text = ""
End With
.Execute
End With
.MoveDown Unit:=wdLine, Count:=1
.EndKey Unit:=wdRow, Extend:=True
.EndKey Unit:=wdColumn, Extend:=True
With .Find
.ClearFormatting
.Text = "^13"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
With .Replacement
.ClearFormatting
.Text = ""
End With
.Execute Replace:=wdReplaceAll
End With
.HomeKey Unit:=wdStory
End With
End Sub
|
sereja.Laz |
14-11-2014 21:58 2429618 |
Спасибо большое!!! :clapping: Намёк понял, только учусь... :) :beer2:
|
Время: 21:03.
© OSzone.net 2001-