10

У меня большая проблема с португальской версией MS Office 2007 и 2010.

Стандартные сочетания клавиш, используемые любым распространенным приложением, изменены.
Некоторые ярлыки, которые не работают: Ctrl+s (сохранить), Ctrl+f (найти) и Ctrl+a (выбрать все).

Я хочу настроить его на использование ярлыков английской версии.

Есть опция, позволяющая настроить каждый ярлык отдельно. Кроме того, я должен настроить для каждого приложения, если я настраиваю в Word, мне придется настроить снова для Excel.

Как использовать ярлыки английской версии MS Office независимо от языка Office?

Спасибо

2 ответа2

3

Я почти уверен, что в приложениях 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% имитирует комбинацию клавиш, которая была нажата изначально.

      Таким образом, другие приложения по-прежнему ведут себя как следует.

Как пользоваться

  1. Загрузите и установите последнюю версию AutoHotkey.

  2. Сохраните приведенный выше скрипт как ms-office.ahk , используя ваш любимый текстовый редактор.

  3. Дважды щелкните файл, чтобы запустить скрипт.

  4. При желании скопируйте скрипт (или ссылку на него) в папку « Startup ».

  5. Чтобы добавить другие приложения MS Office, просто измените регулярное выражение.

    Чтобы добавить PowerPoint, например, заменить (WINWORD|EXCEL) на (WINWORD|EXCEL|POWERPNT) .

  6. Чтобы добавить дополнительные горячие клавиши, вы должны изменить две части скрипта.

    Чтобы добавить Ctrl + O (Открыть ...), например, добавить строку ^o:: в список в самом верху, добавьте эти строки внутри блока if :

    if(A_ThisHotKey = "^o")
        SendPlay, ^a
    

+1 По крайней мере, я так думаю . Я взял горячие клавиши из моего испанского MS Office. Отрегулируйте, если необходимо.

1

Основываясь на предыдущем ответе, еще пару ярлыков (можно добавить к предыдущему ответу):

^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") ;seleccionar rango
           SendPlay, ^e
       if(A_ThisHotKey = "^f") ;buscar
           SendPlay, ^b
       if(A_ThisHotKey = "^s") ;guardar
           SendPlay, ^g
       if(A_ThisHotKey = "^w") ;cerrar
           SendPlay, ^r
       if(A_ThisHotKey = "^n") ;nuevo libro
           SendPlay, ^u
       if(A_ThisHotKey = "^u") ;subrayar
           SendPlay, ^s
       if(A_ThisHotKey = "^b") ;negrita
           SendPlay, ^n
       if(A_ThisHotKey = "^i") ;cursiva
           SendPlay, ^k
       if(A_ThisHotKey = "^d") ;filldown
           SendPlay, ^j
       if(A_ThisHotKey = "^r") ;fill right
           SendPlay, ^d
       if(A_ThisHotKey = "^k") ;hyperlink
           SendPlay, ^!k
       if(A_ThisHotKey = "^g") ;goto
           SendPlay, ^i
    }
    else
        SendPlay, %A_ThisHotKey%
return

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