Как вставить ударение?
Код:
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True
Но в результате заменяется выделенное слово.
Если я вставляю дополнительно:
Код:
Selection.Collapse direction:=wdCollapseEnd
то ничего не происходит.
Подскажите пожалуйста.
Спасибо.
[COLOR="Navy"]Selection.MoveRight Unit:=wdCharacter, Count:=1 'сдвинули
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True[/COLOR]
Цитата: Dmitry2064
У меня сработало так (сдвинул курсор с выделения вправо):
[COLOR="Navy"]Selection.MoveRight Unit:=wdCharacter, Count:=1 'сдвинули
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True[/COLOR]
[COLOR="Navy"]Selection.MoveRight Unit:=wdCharacter, Count:=1 'сдвинули
Selection.InsertSymbol Font:="Times New Roman", CharacterNumber:=769, Unicode:=True[/COLOR]
Отлично. Работает. Спасибо.
Я так понимаю, что нужно сначала найти символ, а потом его удалить. Или я не прав?
[COLOR="Navy"]With Selection.Find
'.Font.Name = "Times New Roman" 'можно и не указывать
.Text = Chr(769) 'почему-то при номере 769 не работает, а если задать какой-нить 122(z) или 161 (Ў), то без проблем.
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
End With
Selection.Find.Execute Replace:=wdReplaceAll 'меняем сразу все[/COLOR]
Т.е. надо уточнять, как искать с таким номером, как 769. Либо надо как-то дополнительно описывать искомую строку. :(
Попытался так определить, какой символ содержится в выделении:
Код:
Dim selAscW As Long
selAscW = AscW(Selection.Characters(1))
If Selection.Type = wdSelectionNormal Then
MsgBox prompt:=selAscW, Title:="Проверка выделения"
End If
selAscW = AscW(Selection.Characters(1))
If Selection.Type = wdSelectionNormal Then
MsgBox prompt:=selAscW, Title:="Проверка выделения"
End If
Получается код выделенной буквы. А то, что над ней есть еще один символ - не определяется.
А может мы не в том направлении копаем?
Код:
Sub Udarenie()
Selection.TypeText Text:="`"
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
With Selection.Font
.Spacing = -4.5
End With
Selection.MoveRight Unit:=wdWord, Count:=3
End Sub
Selection.TypeText Text:="`"
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
With Selection.Font
.Spacing = -4.5
End With
Selection.MoveRight Unit:=wdWord, Count:=3
End Sub
Другое дело, что потом придется удалять такие ударения тоже макросом с установкой в каждом случае нормальной плотности букв (.Spacing = 0).
Спасибо.