Как преобразовать табуляции в отступы в Microsoft Word

Как преобразовать табуляции в отступы в Microsoft Word

При копировании и вставке текста из другого редактора в 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

Связанный контент