Сочетания клавиш в неанглийской версии Microsoft Office

12

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

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

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

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

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

Спасибо

Шквал
источник
Тоже самое!! Тот же язык тоже. ЛОЛ. Я думаю об установке версии EN, а затем добавить языковой пакет для словаря. Ты пробовал это?
Pedro77
Возможный дубликат Как изменить ярлыки офиса?
Pedro77
В итальянской версии, чтобы спасти, нам нужно нажать Ctrl + B, это так раздражает ...
Лука

Ответы:

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.

        Если это так, она имитирует ключ bombination 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
S_A
источник