今日は機器に関する雑談です。
突然ですが私は現在、こんな感じのフットペダルを使用しています。
(同系統のもっと古いやつかも)
ペダルそれぞれに、キーボードやマウスの入力を割り当てられるやつですね。
さて、「めっちゃおもろそうやん!」と思い買ったはいいものの、
買った当初は何のキーを割り当てたら便利かサッパリわかりませんでした(笑)
買ってから調べるという無計画ぶりを発揮するも、ネットにあまり書いてないし。
みなさん商魂たくましく、「どのフットペダルがいいか」しか紹介してないんですよ。
もう買っちまったから、どのキーがいいか教えてください。゚(゚´ω`゚)゚。
ITは目的ではなく手段です。
ペダルを買うことを目的にしてはいけません。
何をどうやって便利にするかを考えてからIT機器を買いましょう。
まあ何でもかんでも効率ではないですからね。
面白さを求めて買ったのでOKOK。
と言い訳しつつ、いろいろ試した中で、
便利だったショートカットを紹介していきます。
- どんなものが便利になるかの考察
- テキストの部分選択トリオ Shift+Home / ダブルクリック / Shift+End
- シート-VBE移動トリオ Ctrl + PageUp / Alt + F11 / Ctrl+PageDown
- コード修正トリオ Ctrl+J / Alt→D→L / Ctrl+I
- 番外編 Alt+○/Alt+○/Alt+○
- プロシージャ間移動トリオ Shift + F2 / Ctrl + L / Ctrl + Shift + F2
- クラッチトリオ Ctrl / Shift / Alt
- デバッグトリオ Shift+F8 / F8 / Shift+F8
どんなものが便利になるかの考察
ひとまず、「Ctrl + C」と「Ctrl + V」とかやっても全く面白くなかったところからこの考察は始まります。
この点から色々と考えて得た結論は、
- 既に手になじんでいるショートカットをセットしても意味なし
- 便利だけど何らかの理由で使用頻度が低いものがいい
- 特に「右手マウスと併用したいが、片手では押しづらいショートカット」
です。
よって、Functionキー絡みや、Home、End付近のキーがカギになりますね。
私の紹介するものが気に入らなかった場合は、
この基準をひとつ参考にしてもらえればと思います。
ということで、早速行きたいと思います。
テキストの部分選択トリオ
Shift+Home / ダブルクリック / Shift+End
左右のペダルは現在のカーソルより、右/左側部分の全選択です。
センターペダルのダブルクリックは、現在カーソルがある単語の選択が狙いです。
「1行中の部分選択に特化した3ショートカット」ですね。
1行中の片側全選択はプログラミングで頻出します。
= の右側と左側や、同じプロパティの引数部分とか。
コードの複製や移動を行う場面では、左手がCtrl X C V 付近に常駐し、
右手もマウスという場面が多いため、行中の部分選択を足にやらせるのは、
見事な三権分立を果たしていると思いません?
あとは「ExcelとVBA以外にも、メールでもWordでもなんでもござれ」なのもポイントですね。
今の私の設定はこれです。
なお、私のペダルは「キーの同時押し」しか設定できませんが、
「キーを押す順番を設定できる」タイプもありますね。
この場合は、センターペダルは「Home ⇒ Shift + End」にしたほうがいいと思います。
あったらいいなショートカットの筆頭「今いる行を全選択」を作れます。
シート-VBE移動トリオ
Ctrl + PageUp / Alt + F11 / Ctrl+PageDown
移動に関するショートカットで統一パターンです。
左のシートへ / VBEへ / 右のシートへ
ですね。
VBE上では、
前のプロシージャへ / Excelへ / 次のプロシージャへ
という対応になっているため、ペダル自身がセンターペダルでフォルムチェンジしている気がして、なんかかっこいいです。
シート間の移動はあるとすごく便利なショートカットなのですが、PageUp/Downという、遠い上にキーボードごとに配置が安定しないキーなのが欠点です。これを解消できるのは強みですね。
一度設定するとキーをペダルさんが記憶していてくれるので、別のPCに挿してもそのまま使えます。
例えばノートPCでPageキーがないやつでも、別PCで設定してから挿せば使えるようになります。
便利なのですが、ExcelとVBE以外では使えません。そこが欠点。
ちなみに私がこれを採用しなかったのは、単に、
これも買っていて、ここに登録したからです。
中段の3キーがこれになってます。
このトリオもすごく便利ですよ。
コード修正トリオ
Ctrl+J / Alt→D→L / Ctrl+I
コード修正サクサクトリオです。
自動メンバー表示 / コンパイル / クイックヒント
です。
自動メンバー表示「Ctrl + J」は、Ctrl+Spaceのやり直しみたいなやつです。
変数名やプロシージャ名を「完全に入力し終えている」と、Ctrl + Spaceは予測候補が1つしかないため、反応しなくなります。
対して「Ctrl + J」は、予測候補が1つしかなくも選択肢を表示しますので、
打ち終えているプロパティや変数を、似ている別の変数に切り替えるときに使用します。
オブジェクト、Enum、クラスのメンバの修正も、「.」の右側で押すことで選択肢の再表示ができます。
変数名の真ん中あたりを1文字消してからCtrl+Space押してる(昔の私のような)方。
これ、ショートカットありますので。
こいつはコンパイルと合わせると非常に強力で、
コンパイル→構文エラーの指摘が入る→変数の取り違いを自動メンバー表示で直す
というコンビネーションが鬼つよです。
変数名、関数名をちょっと変えたときは、この2ショートカットを交互に押すだけでプロジェクト全体の修正が進んでいきますよ。
コードの修正という場面は当然タイピングが必須なため、コンパイルと自動メンバーを足にやらせることで、左右の手がホームポジションに固定され、その真価を発揮します。
もう一つの「クイックヒント」は、引数の内容の表示ですね。
関数の入力後にこれがもう一度見たい!ってときに、
カンマを一旦消してもう一度カンマを打ち直している(昔の私のような)方。
これ、ショートカットありますので。
Ctrl+JとCtrl+Iは、さほど押しにくいショートカットではなくすごく便利なので、
既に馴染んでいる方もいらっしゃると思いますが、
そういう方こそ、それがコンパイルの隣に置けることがいかに便利か伝わるかと思います。
欠点はVBE限定なところ。
他のアプリはおろか、Excel上ですら役に立たないです。
(まあ一応改行コードの置換ができるか…)
ただ、「Ctrl + J」「Ctrl + I」に自作のマクロをセットできると考えると、
それはそれでひとつのメリットかもしれません。
なお、コンパイルはAlt → D → Lと書いていますが、
紹介しておきながら、私のペダルではできません(笑)
押す順番を指定できないタイプの場合は、ツールバー上で「Alt + ○」をコンパイルに割り当てることで代用してください。
その方法については、適当にググって補完してください。簡単ですよ。
番外編 Alt+○/Alt+○/Alt+○
↑のコンパイルで出た、Alt+○のツールバー登録を利用すれば、
ショートカットの無い機能も、アイコンがある奴ならなんでも割り当てができます。
- 左右のペダルに「コメントアウト/非コメントアウト」
- 標準モジュール/クラスモジュール/フォームモジュール の挿入
- VBEにショートカットのない「やり直し」を、Ctrl+Zと一緒にセット
なども便利かなと思います。
ExcelでもAlt+数字ならある程度はコントロールできるため、
フィルターのクリアとか、セル結合とか、ウィンドウ枠の固定とか、
うまく↑と合わせてください。
この方法の欠点は、当然環境に依存することです。
違うPCで使うのは困難です。
この手のマクロキーボードやペダルは、設定後はUSBを抜き差ししても、別のPCでもその設定のまま使えるのが強みなのですが、当然Altを我流設定するこの手法では使えません。
使うPCが複数ある方には向かない方法です。
プロシージャ間移動トリオ
Shift + F2 / Ctrl + L / Ctrl + Shift + F2
こちらはプロシージャ間の移動トリオです。
定義の表示 / 呼び出し履歴 / 直前の位置に戻る
です。
分かりにくいショートカット名なので適当に略すと
- 変数名からそのDim、プロシージャ名からそのSubやFunctionに飛ぶ
- 実行中マクロのプロシージャの呼び出しを逆にたどる
- 飛んだ先から戻る
というショートカットです。
これは超便利なショートカットなのですが、
便利すぎて、既に完璧に手に馴染んでいたため、ボツになったトリオです。
またこれらのキーを使う場面では、意外とタイピングが必要じゃないこともボツの理由でした。
ロジックの繋がりを調べるためのショートカットなので、
手ではなく、目と脳がフル回転する場面という感じです。
そこまで便利には感じませんでしたが、一応参考に乗せておきます。
クラッチトリオ Ctrl / Shift / Alt
これは人の受け売りというか、ネットで見かけたのですが自分はあまり便利に感じなかったので紹介だけ。
足だけで操作を完結せず、ショートカットを手と足で分業するタイプですね。
足で左手の小指薬指の代わりをすることで、左手のキータッチを補助するのでしょう。
私はうまく扱えませんでしたが、理屈は何かわかる気がするので、これが馴染む方もいらっしゃると思います。
一度はお試しを。
デバッグトリオ Shift+F8 / F8 / Shift+F8
すべて「1行ずつ実行」系のショートカットです。
Shift+F8はステップオーバーと呼ばれ、
「プロシージャ(例えばCall)の中には入らずに一気に処理して、1行ずつ実行」です。
プロシージャ分割が増えて来たり、クラスを使い始めてPropertyの中に入りたくないことが増えると、「1行ずつ実行」のメインキーはF8ではなく、Shift + F8になります。
これが手では遠いので、足でやりましょう。
F8は、中を見なければいけない、重要なプロシージャに入るときだけ押します。
それをセンターべダルに配置。
両サイドを同じステップオーバーで割り当てているのは、誤植ではありません。
歩くためです。
幼稚園のお遊戯会で、息子とてくてくあるくお歌を踊っていて思いついたのですが、
ネタ枠と思いきや、やってみるとまさかの便利さに笑いました。
好きな音楽に合わせて左右交互に足踏みしながらデバッグを進めつつ、
ここぞという関数でセンターペダルを踏んで中に入っていく感じです。
こんなアホみたいなお散歩のためにお金を出してペダルを買うのは間抜けな気がしますが、デバッグが楽しくなるのは結構なメリットだと思います。
騙されたと思ってやってみてください。
たぶん、騙されることになると思います。
お散歩が馴染まなかった方は、ステップアウト「Ctrl + Shift + F8」あたりをどうぞ。
まとめ
以上がフットペダルに便利なトリオたちです。
適当に書いた記事ですが、最後にちょっと真面目な話をすると、
ショートカットキーは覚えるのもコストです。
便利そうなんだけど覚えられないな~
と思っている方は、お金の力で解決してもよいのでは?
便利そうだけど覚えるのが難しそうなショートカットは、
こういうのに登録しちゃえば覚える必要がありません。
気が向いたら買ってみてください。