
При копировании и вставке текста из другого редактора в Microsoft Word, абзацы идут с табуляцией в начале. Как преобразовать их в отступы абзацев, чтобы получить лучшее форматирование?
решение1
Лучший способ, который я нашел, — написать макрос VBA.
Возможно, он не оптимизирован для производительности, но свою работу выполняет. =)
Sub ConvertLeadingTabsToIndents()
On Error GoTo Error
Application.ScreenUpdating = False
Dim found As Boolean
found = FindNextTab()
While (found)
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeBackspace
Selection.Paragraphs.Indent
found = FindNextTab()
Wend
MsgBox "Success!", vbInformation
Exit_Sub:
Exit Sub
Error:
Application.ScreenUpdating = True
' Regenerate original error.
Dim intErrNum As Integer
intErrNum = Err
Err.Clear
Err.Raise intErrNum
End Sub
Function FindNextTab()
With Selection.Find
.Text = "^p^t"
.Forward = True
.Wrap = wdFindContinue
.Format = False
End With
FindNextTab = Selection.Find.Execute
End Function