1

Можно ли это сделать? Я думаю, что стандартная автозамена работает только на целые слова ...

2 ответа2

1

Одно из решений: wdKeyE к следующему макросу

Sub my_e()
  Select Case (Selection.Previous(wdCharacter, 1))
    Case "a"
      Selection.TypeBackspace
      Selection.TypeText ChrW(228)
    'other cases, as desired 
    Case Else
      Selection.TypeText "e"
  End Select
End Sub

Связывание ключей можно выполнить с помощью:

KeyBindings.Add KeyCategory:=wdKeyCategoryMacro, Command:="my_e", KeyCode:=wdKeyE

И обязательный

Sub e_unbind()
  Dim cmds As Variant
  Dim bind As KeyBinding
  For Each bind In Application.KeyBindings
    If bind.KeyCategory = wdKeyCategoryMacro Then
      cmds = Split(bind.Command, ".")
      If cmds(UBound(cmds)) = "my_e" Then bind.Clear
    End If
  Next
End Sub

...До сих пор хорошо работает

0

Поскольку это было перенесено в SuperUser, представляется разумным включить некоторые комментарии в качестве ответа.

@Otaku отметил, что комбинация клавиш создаст требуемый акцент, на основе этого комментария я нашел список, в котором подробно описаны акценты, которые можно добавлять с помощью сочетаний клавиш и раскладки клавиатуры на английском или американском языках. Это помимо акцентов, которые могут быть получены с помощью Alt Gr.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .