键入时将单词中的“ae”替换为“ä”

键入时将单词中的“ae”替换为“ä”

可以这样做吗?我认为标准自动更正仅适用于整个单词...

答案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

...目前为止效果很好

答案2

由于这已迁移到超级用户,因此将一些评论作为答案包含在内似乎是合理的。

@Otaku 指出,组合键会产生所需的重音,根据此评论,我找到一个列表,其中详细列出了可以使用组合键和英式或美式键盘布局添加的重音。这与使用 Alt Gr 可以获得的重音不同。

相关内容