Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 712
Благодарности: 322

Профиль | Отправить PM | Цитировать


vanvanov, объектную модель ворда я представляю смутно, с бедра на вскидку - такой код:
Код: Выделить весь код
Sub Select_word()
Dim strTxt As String

Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

strTxt = Right(Selection.Text, 1)
Select Case strTxt
Case ".", ",", " ", "!", "?"
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
End Select
End Sub
Ограничение - курсор должен стоять непосредственно перед тем словом, которое вы хотите выделить.
Соответственно, возможен вариант, чтобы курсор стоял в любом месте слова, тут однако код работает не совсем корректно в граничных условиях (при выделении в начале документа, скобочки и т.д.), если есть желание потестировать - попробуйте код ниже (остановить выполнение кода можно сочетанием ctrl+break , если вдруг зависнет)
Посмотреть код:
Код: Выделить весь код
Sub s_wd()
Dim strTxt As String
Do
If Selection.Start = 0 Then Exit Do
If Selection.Information(wdFirstCharacterColumnNumber) = 1 Then Exit Do
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
strTxt = Selection.Text
If strTxt = " " Then Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.MoveLeft Unit:=wdCharacter, Count:=1

Loop Until strTxt = " "

Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend

strTxt = Right(Selection.Text, 1)
Select Case strTxt
Case ".", ",", " ", "!", "?"
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
End Select
    
End Sub

Последний раз редактировалось a_axe, 31-07-2014 в 13:22.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:16, 31-07-2014 | #2