Записать удалённые элементы в новый абзац в конце текста - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д