Загрузка данных


Sub ВставитьТекстОчиститьИОформить()
    Dim startPos As Long

    ' Запоминаем позицию курсора ДО вставки
    startPos = Selection.Start

    ' 1. Вставка из буфера как текст
    On Error Resume Next
    Selection.PasteSpecial Link:=False, _
                           DataType:=wdPasteText, _
                           Placement:=wdInLine, _
                           DisplayAsIcon:=False
    If Err.Number <> 0 Then
        MsgBox "Не удалось вставить текст. Проверьте, скопированы ли данные."
        Exit Sub
    End If
    On Error GoTo 0

    ' 2. Выделяем ВЕСЬ только что вставленный текст
    Selection.SetRange Start:=startPos, End:=Selection.End

    ' 3. Полная очистка форматирования
    Selection.ClearFormatting
    Selection.ParagraphFormat.Reset

    ' 4. Принудительное обнуление интервалов и отступов
    With Selection.ParagraphFormat
        .SpaceBefore = 0
        .SpaceAfter = 0
        .LineSpacingRule = wdLineSpaceSingle
        .FirstLineIndent = 0
        .LeftIndent = 0
        .RightIndent = 0
        .CharacterUnitFirstLineIndent = 0
        .CharacterUnitLeftIndent = 0
        .CharacterUnitRightIndent = 0
    End With

    ' 5. Шрифт Times New Roman, 11 пт
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 11
    End With

    ' 6. Первая буква каждого слова — заглавная
    Selection.Range.Case = wdTitleWord

    ' 7. Убрать выделение, курсор в конец
    Selection.Collapse Direction:=wdCollapseEnd
End Sub