Записать удалённые элементы в новый абзац в конце текста - VBA

Узнай цену своей работы

Формулировка задачи:

Задача: Вырезать все символы, предшествующие первой точке, и записать их в новый абзац в конце текста. Задачу я сделала на половину. Не получается только записать удалённые символы в новый абзац. Подскажите как это сделать? Public Sub удаление_симболов() Dim St As String, st1 As String Dim Pos As Long, Pos1 As Long Dim Sym As String ' * 1 St = Selection.Text If Len(St) <= 1 Then MsgBox "Необходимо выделить фрагмент текста" Exit Sub End If Pos = InStr(1, St, "") If Pos = 0 Then Exit Sub Pos1 = InStr(Pos + 1, St, ".") If Pos1 = 0 Then Exit Sub st1 = Left$(St, Pos) For Pos = Pos + 1 To Pos1 - 1 Sym = Mid$(St, Pos, 1) If Not Sym Like "[* , : ; + - ]" Then st1 = st1 & Sym Next st1 = st1 & Mid$(St, Pos1) Selection.Text = st1 End Sub

Решение задачи: «Записать удалённые элементы в новый абзац в конце текста»

textual
Листинг программы
Sub ВсёЧтоДоТочки_Вниз()
Selection.HomeKey unit:=wdStory 'курсор - вверх
 
Selection.Extend "." 'выделили текст от верха по первую точку (если есть)
MsgBox Len(Selection.Text)
'Selection.InsertAfter "." 'ПОСЛЕ ВЫДЕЛЕНИЯ вставили точку (если надо)
Selection.MoveLeft Extend:=wdExtend 'сняли выделение с последнего знака (здесь - точки)
If Len(Selection.Text) < 2 Then MsgBox "ТЕКСТ С ТОЧКОЙ имеет длину < 2.": Exit Sub
 
NormalTemplate.AutoTextEntries.AppendToSpike Range:=Selection.Range
 
Selection.EndKey unit:=wdStory 'курсор - вниз
Selection.TypeParagraph
'Теперь вытряхнем копилку на место где курсор (Selection.Range)
    With NormalTemplate.AutoTextEntries("Копилка")
        .Insert Where:=Selection.Range
        .Delete ' очищаем Копилку
    End With
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы