Здравствуйте. Помогите пожалуйста с макросом по удалению всех пробелов в начале документа.
Удаление пробелов в начале документа:
Sub Макрос()
'1. Отключение монитора. Может это ускорит работу макроса.
Application.ScreenUpdating = False
'2. Делать цикл, пока первый символ - это пробел.
Do While ActiveDocument.Paragraphs(1).Range.Characters.First = " "
' Удаление первого символа.
ActiveDocument.Paragraphs(1).Range.Characters.First.Delete
Loop
'3. Включение монитора.
Application.ScreenUpdating = True
End Sub
Вариант без цикла, наверное, более быстрый, чем в сообщении выше:
Sub Макрос2()
Dim rng As Range
' Проверка, что первый символ - это пробел.
If ActiveDocument.Paragraphs(1).Range.Characters.First = " " Then
' Vba-именование фрагмента файла, где находится пробел.
Set rng = ActiveDocument.Paragraphs(1).Range.Characters.First.Duplicate
' Движение конца фрагмента, пока встречается пробел.
rng.MoveEndWhile Cset:=" "
' Удаление фрагмента.
rng.Delete
End If
End Sub
P.S. Для работы с одним абзацем не важен способ - и так будет быстро, но если надо много обработать, то можно попробовать выбрать, какой вариант быстрее.
Спасибище всё работает, очень выручили.
День добрый.
Прошу помощи в решении задачи: требуется удалить "лишние" пробелы в тексте, в частности в конце документа/абзаца.
Данная конструкция позволяет это сделать:
.Text = " {1;}^13"
.Replacement.Text = "^13"
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
однако в абзаце перед таблицей и в самой таблице в ячейках после текста остаются конечные пробелы.
Написал вам письмо на почту. Написал именно на почту, а не на форум.