web-dev-qa-db-ja.com

英語版以外のMicrosoftOfficeのキーボードショートカット

ポルトガル語版のMSOffice2007および2010に大きな問題があります。

一般的なアプリケーションが使用する標準のショートカットが変更されました。
機能しないいくつかのショートカット: Ctrl+s (セーブ)、 Ctrl+f (検索)と Ctrl+a (すべて選択)。

英語版のショートカットを使用するように設定したい。

各ショートカットを個別に構成できるオプションがあります。さらに、アプリごとに構成する必要があります。Wordで構成する場合は、Excel用に再度構成する必要があります。

Officeの言語に関係なく、英語版のMS Officeのショートカットを使用するにはどうすればよいですか?

ありがとう

12
Squall

MSOfficeアプリケーションのショートカットを変更する組み込みの方法がないことはほぼ確実です。

ただし、この目的には 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ステートメントの前にスクリプトを実行するホットキーの1つを指定します。ここで、_^_は Ctrl キー。

  • _WinGet, Process, ProcessName, A_は、アクティブな(A)ウィンドウのプロセス名を変数Processに格納します。

  • if(RegExMatch(Process, "^(WINWORD|Excel)\.EXE$")) {...} else ...は、Process正規表現 と一致するかどうか、つまり、文字列_WINWORD.EXE_または_Excel.EXE_のいずれかに一致するかどうかを確認します。

    • その場合、最初のブロックが実行されます。

      • if(A_ThisHotKey = "^a")は押されたホットキーが CtrlA

        もしそうなら、それは鍵爆撃をシミュレートします CtrlE、すべてを選択するためのポルトガル語のホットキーです1

    • それ以外の場合、_SendPlay, %A_ThisHotKey%_は最初に押されたキーの組み合わせをシミュレートします。

      このように、他のアプリケーションは引き続き正常に動作します。

使い方

  1. ダウンロード そしてAutoHotkeyの最新バージョンをインストールします。

  2. お気に入りのテキストエディタを使用して、上記のスクリプトを_ms-office.ahk_として保存します。

  3. ファイルをダブルクリックして、スクリプトを実行します。

  4. 必要に応じて、スクリプト(またはスクリプトへのリンク)をStartupフォルダーにコピーします。

  5. さらにMSOfficeアプリケーションを追加するには、正規表現を変更するだけです。

    PowerPointを追加するには、たとえば、_(WINWORD|Excel)_を_(WINWORD|Excel|POWERPNT)_に置き換えます。

  6. さらにホットキーを追加するには、スクリプトの2つの部分を変更する必要があります。

    たす CtrlO (開く...)たとえば、行_^o::_を一番上のリストに追加し、次の行をifブロック内に追加します。

    _if(A_ThisHotKey = "^o")
        SendPlay, ^a
    _

1 少なくとも、私はと思いますそうです。スペイン語のMSOfficeからホットキーを取得しました。必要に応じて調整します。

3
Dennis

前の回答に基づいて、さらにいくつかのショートカット(前の回答に追加できます):

^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
1
s_a