Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - [решено] В макросе после замены исключить вопрос Wordа

Ответить
Настройки темы
2003/XP/2000 - [решено] В макросе после замены исключить вопрос Wordа

Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Работаю в 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

Отправлено: 18:09, 12-11-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Тема была откуда-то перенесена, или я просто просмотрел её создание «по месту»?!

Цитата 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
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:31, 14-11-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое!!! Намёк понял, только учусь...

Отправлено: 21:58, 14-11-2014 | #3



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - [решено] В макросе после замены исключить вопрос Wordа

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
После замены видеокарты... swwsrr Металлолом 1 14-03-2013 02:36
VBA - Ошибка в макросе Excel OlegSt Программирование и базы данных 5 08-09-2012 18:20
Вопрос замены Core2Duo E7650 и Geforse 8800 GTS (советы) Santyc Процесcоры 51 05-05-2009 16:13
После замены материнки... bgogb Непонятные проблемы с Железом 22 20-04-2007 05:53
Блок питания 250Вт! Вопрос замены! alibaster Разгон, охлаждение и моддинг 16 15-07-2005 19:00




 
Переход