Вопрос или проблема
Горячие клавиши в неанглоязычной версии Microsoft Office
У меня есть большая проблема с португальской версией MS Office 2007 и 2010.
Стандартные сочетания клавиш, которые используются в любом обычном приложении, изменены.
Некоторые сочетания клавиш, которые не работают: Ctrl+s (сохранить), Ctrl+f (поиск) и Ctrl+a (выбрать все).
Я хочу настроить их так, чтобы использовать сочетания клавиш английской версии.
Существует опция, позволяющая настраивать каждое сочетание клавиш отдельно. Более того, я должен настраивать для каждого приложения, если я настраиваю в Word, я должен настраивать снова в Excel.
Как использовать сочетания клавиш английской версии MS Office независимо от языка Office?
Спасибо
Я почти уверен, что в приложениях MS Office нет встроенного способа изменить сочетания клавиш.
Однако вы можете использовать AutoHotkey для этой цели.
Скрипт
^a::
^f::
^s::
WinGet, Process, ProcessName, A
if(RegExMatch(Process, "^(WINWORD|EXCEL)\.EXE$"))
{
if(A_ThisHotKey = "^a")
SendPlay, ^e
if(A_ThisHotKey = "^f")
SendPlay, ^b
if(A_ThisHotKey = "^s")
SendPlay, ^g
}
else
SendPlay, %A_ThisHotKey%
return
Как это работает
-
^a::
задает одно из горячих клавиш, которые запускают скрипт до инструкцииreturn
, где^
обозначает клавишу Ctrl. -
WinGet, Process, ProcessName, A
сохраняет имя процесса активного (A
) окна в переменнойProcess
. -
if(RegExMatch(Process, "^(WINWORD|EXCEL)\.EXE$")) {...} else ...
проверяет, соответствует лиProcess
регулярному выражению, т.е. соответствует ли он одной из строкWINWORD.EXE
илиEXCEL.EXE
.-
Если да, выполняется первый блок.
-
if(A_ThisHotKey = "^a")
проверяет, является ли нажатой горячей клавишей Ctrl + A.Если это так, он имитирует комбинацию клавиш Ctrl + E, которая является португальским сочетанием клавиш для выбора всего1.
-
-
В противном случае
SendPlay, %A_ThisHotKey%
имитирует сочетание клавиш, которое было изначально нажато.Таким образом, другие приложения продолжают вести себя так, как и должны.
-
Как использовать
-
Скачайте и установите последнюю версию AutoHotkey.
-
Сохраните приведенный выше скрипт как
ms-office.ahk
, используя ваш любимый текстовый редактор. -
Дважды щелкните файл, чтобы запустить скрипт.
-
Если хотите, скопируйте скрипт (или ссылку на него) в папку
Автозагрузка
. -
Чтобы добавить дополнительные приложения MS Office, просто измените регулярное выражение.
Чтобы добавить PowerPoint, например, замените
(WINWORD|EXCEL)
на(WINWORD|EXCEL|POWERPNT)
. -
Чтобы добавить дополнительные горячие клавиши, вам нужно изменить две части скрипта.
Чтобы добавить Ctrl + O (Открыть…), добавьте строку
^o::
в список в самом верху, добавьте эти строки внутри блокаif
:if(A_ThisHotKey = "^o") SendPlay, ^a
1 По крайней мере, я думаю, что это так. Я взял сочетания клавиш из своей испанской версии MS Office. Настройте при необходимости.
На основе предыдущего ответа, несколько дополнительных сочетаний клавиш (могли бы быть добавлены к предыдущему ответу):
^a::
^f::
^s::
^w::
^n::
^u::
^d::
^r::
^b::
^i::
^k::
^g::
WinGet, Process, ProcessName, A
if(RegExMatch(Process, "^(EXCEL)\.EXE$"))
{
if(A_ThisHotKey = "^a") ;выбрать диапазон
SendPlay, ^e
if(A_ThisHotKey = "^f") ;поиск
SendPlay, ^b
if(A_ThisHotKey = "^s") ;сохранить
SendPlay, ^g
if(A_ThisHotKey = "^w") ;закрыть
SendPlay, ^r
if(A_ThisHotKey = "^n") ;новая книга
SendPlay, ^u
if(A_ThisHotKey = "^u") ;подчеркнуть
SendPlay, ^s
if(A_ThisHotKey = "^b") ;жирный
SendPlay, ^n
if(A_ThisHotKey = "^i") ;курсив
SendPlay, ^k
if(A_ThisHotKey = "^d") ;заполнить вниз
SendPlay, ^j
if(A_ThisHotKey = "^r") ;заполнить вправо
SendPlay, ^d
if(A_ThisHotKey = "^k") ;гиперссылка
SendPlay, ^!k
if(A_ThisHotKey = "^g") ;перейти
SendPlay, ^i
}
else
SendPlay, %A_ThisHotKey%
return
Этот вопрос уже 8 лет. С тех пор появилась более простая альтернатива, так как Microsoft выпустила языковые пакеты для Office бесплатно.
Примечание: хотя это простой и чистый подход, у него есть побочный эффект — интерфейс Office (меню и диалоговые окна) также меняется на английский.
Вы можете скачать языковые пакеты для Office 2016, Office 2013 и Office 2010 по ссылке. Скачайте и установите языковой пакет для английского, затем выполните шаги, описанные на странице загрузки, чтобы настроить язык отображения MS Office. После перезагрузки английские сочетания клавиш должны вступить в силу.
Примечание: изначально у меня было несколько ошибок после установки языкового пакета. Это потому, что я установил 64-разрядный языковой пакет поверх моего 32-разрядного Office. После исправления проблемы мой MS Office работает, как ожидалось.
Сокращенная версия скрипта AutoHotkey в качестве примера переназначения CTRL+B на CTRL+SHIFT+F и CTRL+I на CTRL+SHIFT+K (немецкие сочетания клавиш) в Word, Excel, Power Point.
Не блокирует отправку других сочетаний, когда клавиша CTRL не отпущена.
#If WinActive("ahk_class OpusApp") || WinActive("ahk_class XLMAIN") || WinActive("ahk_class PPTFrameClass")
^b::^+f
^i::^+k
Ответ или решение
Для решения проблемы с настройкой сочетаний клавиш в неанглийских версиях Microsoft Office, таких как португальская версия Office 2007 и 2010, можно рассмотреть несколько подходов.
1. Переход на английскую версию интерфейса Office
Существуют языковые пакеты, которые позволяют установить английскую версию интерфейса Microsoft Office и, таким образом, вернуть стандартные сочетания клавиш. Это самый простой и чистый способ, так как он не требует дополнительных инструментов или настройки схемы клавиатуры.
Чтобы установить языковой пакет для Microsoft Office, выполните следующие шаги:
- Перейдите по этой ссылке и загрузите языковой пакет для вашей версии Office (2010, 2013, 2016 и т.д.).
- Установите языковой пакет и следуйте инструкциям для изменения языка отображения Office на английский.
- Перезагрузите приложения Office. После этого должны начать работать английские сочетания клавиш.
2. Использование AutoHotkey
Если вы предпочитаете оставить интерфейс в португальском или другом языке, вы можете использовать программу AutoHotkey для создания скриптов, которые помогут перехватывать и переназначать сочетания клавиш на английские аналогичные.
Вот пример скрипта AutoHotkey, который заменяет сочетания клавиш в Word и Excel:
^a::
^f::
^s::
^w::
^n::
^u::
^d::
^r::
^b::
^i::
^k::
^g::
WinGet, Process, ProcessName, A
if(RegExMatch(Process, "^(WINWORD|EXCEL|POWERPNT)\.EXE$"))
{
if(A_ThisHotKey = "^a")
SendPlay, ^e ; Выделить все
if(A_ThisHotKey = "^f")
SendPlay, ^b ; Найти
if(A_ThisHotKey = "^s")
SendPlay, ^g ; Сохранить
; Добавьте дополнительные сочетания клавиш по мере необходимости
}
else
SendPlay, %A_ThisHotKey%
return
Как использовать скрипт AutoHotkey:
- Скачайте и установите последнюю версию AutoHotkey с официального сайта.
- Создайте новый текстовый файл и вставьте в него скрипт, затем сохраните его с расширением
.ahk
, напримерms-office.ahk
. - Дважды кликните по созданному файлу, чтобы запустить скрипт.
- Если хотите, добавьте файл в папку «Автозагрузка», чтобы скрипт запускался автоматически при старте системы.
- Вы можете добавлять дополнительные сочетания и приложения, изменяя регулярное выражение и добавляя соответствующие блоки для каждой горячей клавиши.
Заключение
Если вам нужно изменить сочетания клавиш в Microsoft Office из-за различий в языковых версиях, вы можете выбрать между установкой языкового пакета для английского языка или использовать AutoHotkey для назначения горячих клавиш в соответствии с английскими стандартами. Выбор метода зависит от вашего комфорта с интерфейсом и функциональностью.