Поменять выделенные слова в одной строке местами - VBA
Формулировка задачи:
в word нужно поменять местами слова!
пример:
есть строка: яблоко-1 + тыква2 + м-малина + вишня*
нужно чтоб получилось следующее:
вишня* + м-малина + тыква2 + яблоко-1
есть код но он делает просто слова : яблоко + тыква + вишня > вишня + тыква + яблоко
Решение задачи: «Поменять выделенные слова в одной строке местами»
textual
Листинг программы
Sub Chexarda_Lite() 'переставляет слова (разделённые пробелами) в обратном порядке - в выделенном тексте одного абзаца' Dim bytWcount As Byte, bytWnumber As Byte With Selection If Right(.Text, 1) = Chr(11) Or Right(.Text, 1) = Chr(13) Then .MoveLeft Extend:=wdExtend End With If Len(Selection) < 2 Then Exit Sub Selection = StrReverse(Selection) 'сначала переворачиваем выделенный текст bytWcount = Selection.Range.ComputeStatistics(wdStatisticWords) Do With Selection.Find .Text = "[! ^0011^0013]{1;}" 'слово (из одной буквы и длиннее) .Wrap = wdFindStop .MatchWildcards = True 'подстановочные знаки - это флажок в окне по Ctrl-h (в Word) .Execute 'выполнили поиск (и выделение) очередного слова bytWnumber = bytWnumber + 1 'сосчитали слово End With Selection = StrReverse(Selection) 'найденное слово переворачиваем снова! Loop Until bytWnumber = bytWcount 'ВЫХОД из цикла - когда поиск нашёл последнее слово End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д