1

Я прошу прощения за запутанный заголовок. Вот объяснение поведения, которое я хотел бы настроить.

В Microsoft Word сочетания клавиш "гарнитура" (Ctrl+I, Ctrl+B, Ctrl+U) выполняют две роли:

  1. изменить шрифт уже набранного текста; а также
  2. изменить шрифт, который будет использоваться для текста, который будет набираться.

Роль (1), в свою очередь, будет происходить в двух разных контекстах:

  • (а) когда текст выделен; а также
  • (б) когда курсор находится в середине слова.

Именно контекст (b) доставляет мне трудности, потому что он мешает "отслеживать изменения" (полное объяснение сложно, но, по сути, Word обрабатывает курсор как "в середине слова", даже если половина слова "вставлен", а другая половина "удалена" - возможно, ошибка).

Поэтому я хотел бы отключить (б). В частности, я хотел бы сделать так, чтобы при нажатии Ctrl+I и выделении текста шрифт не изменялся.

Это возможно?

1 ответ1

0

Да, со следующими тремя подпрограммами VBA, добавленными в ваш шаблон Normal или добавленными в отдельный пользовательский шаблон, который загружается в папку автозагрузки Word, или в сам документ, если это был документ ".docm" с макросами.

Sub Bold()
'
' Bold Macro
' Makes the selection bold (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        Selection.Font.Bold = wdToggle
    End If

End Sub
Sub Italic()
'
' Italic Macro
' Makes the selection italic (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        Selection.Font.Italic = wdToggle
    End If

End Sub
Sub Underline()
'
' Underline Macro
' Formats the selection with a continuous underline (toggle)
'
    If Not Selection.Range.Start = Selection.Range.End Then
        If Selection.Font.Underline = wdUnderlineNone Then
            Selection.Font.Underline = wdUnderlineSingle
        Else
            Selection.Font.Underline = wdUnderlineNone
        End If
    End If

End Sub

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