MS Excelでanything.elやpecoのように絞込でファイルを開けるマクロを作ってみた


MS Excel でのファイルオープン周りの不満

Excelはどの業界においても広く業務に使われているソフトだと思います。
私も業務でほぼ毎日といっていいほど使っていますが、その頻度故に細かいインターフェースの手になじまなさが気になってきてしまいます。
私の場合は特にファイルのオープン周りの不満が大きく感じており、例えば…

  • 同時に開いているファイルの切り替えが簡単に行えない(ショートカットだと切り替えにくい、Alt+TABだと他のソフトも対象になる)
  • ファイルを開く際にバックステージを経由する(Ctrl+Oで直接ダイアログを開くこともできますが)
  • 最近使ったファイルはバックステージ経由でしか開けない(Alt+F+Rで楽だが決定にマウスが必要)

などなど、キーボードだけではどうにも完結し難いというのが気になっています。
というわけで、簡素ですが、peco 、anything.el 等のような絞込インターフェースでファイルが開けるマクロを作りました。

できる事

Excelでファイル名を絞込ながらファイルを開く、あるいは開き済みのファイルの切り替えができます。
具体的にはスクリーンショットのイメージを参考にしてください。

公開場所

インストール方法

  • 上記の場所から、ExcelFileOpener.xlam をダウンロードします。
  • Excelで、ファイル→オプション→アドイン→設定→参照を選び、ダウンロードしたマクロを指定します

以上で完了です

利用方法

デフォルトでは以下のショートカットに設定します。

  • Ctrl+Shift+a 現在開いているブックのフォルダを起点に開くファイルを選択します
  • Ctrl+Shift+r 現在開いているブックのフォルダから再帰的に探索しファイルを選択します
  • Ctrl-Shift+m 最近使ったファイルから開くファイルを選択します。
  • Ctrl+Shift+b 開いているブックのリストから編集するブックを選択します。

変更したい場合は 開発→Visual Basic を選択してVBEを開いて、ThisWorkbook の以下の部分を変更してください。

Private Sub Workbook_Open()
    Application.OnKey "^A", "OpenFile_ACTIVE_PATH"
    Application.OnKey "^R", "OpenFile_RECURSIVE_PATH"
    Application.OnKey "^M", "OpenFile_RECENT_FILE"
    Application.OnKey "^B", "OpenFile_SWITCH_BOOK"
End Sub