Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Удаление лишних пробелов Word (http://forum.oszone.net/showthread.php?t=240518)

NoBrain 13-08-2012 18:22 1969610

Удаление лишних пробелов Word
 
Ребят помогите проблему решить.
В общем создаю код который бы форматировал документ (документ всегда стандартный, т.к. выгружается из определенной ИС и там куча ляпов которые нужно редактировать).

Одним из фрагментов редактирования является удаление лишних пробелов (2 и более).
Долго заморачиваться не стал и записал макрос:

Код:

DeleteSpace Макрос
' Удаление лишних пробелов
'
    Selection.WholeStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " {2;}"
        .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

Другого способа я не знаю.
По результатам выполнения этого кода цель достигается, только всегда выскакивает такое сообщение:

Это конечно не смертельно, но хотелось бы его убрать что ли. Что бы оно либо не появлялось вообще, либо автоматически кнопка "нет" нажималась.

Можно ли решить эту проблему? Помогите пожалуйста.

Iska 13-08-2012 22:12 1969745

Цитата:

Цитата NoBrain
Долго заморачиваться не стал »

Стоило попробовать.


Код:

Option Explicit

Sub RemoveMultiSpaces()
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
       
        .Text = " {2;}"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
       
        .Execute Replace:=wdReplaceAll
    End With
End Sub



Время: 19:03.

Время: 19:03.
© OSzone.net 2001-