Записать удалённые элементы в новый абзац в конце текста - 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
Листинг программы
  1. Sub ВсёЧтоДоТочки_Вниз()
  2. Selection.HomeKey unit:=wdStory 'курсор - вверх
  3.  
  4. Selection.Extend "." 'выделили текст от верха по первую точку (если есть)
  5. MsgBox Len(Selection.Text)
  6. 'Selection.InsertAfter "." 'ПОСЛЕ ВЫДЕЛЕНИЯ вставили точку (если надо)
  7. Selection.MoveLeft Extend:=wdExtend 'сняли выделение с последнего знака (здесь - точки)
  8. If Len(Selection.Text) < 2 Then MsgBox "ТЕКСТ С ТОЧКОЙ имеет длину < 2.": Exit Sub
  9.  
  10. NormalTemplate.AutoTextEntries.AppendToSpike Range:=Selection.Range
  11.  
  12. Selection.EndKey unit:=wdStory 'курсор - вниз
  13. Selection.TypeParagraph
  14. 'Теперь вытряхнем копилку на место где курсор (Selection.Range)
  15.    With NormalTemplate.AutoTextEntries("Копилка")
  16.         .Insert Where:=Selection.Range
  17.         .Delete ' очищаем Копилку
  18.    End With
  19. End Sub

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы