概要
VisualBasicEditor(VBE) にはコードスニペットを扱う機能が搭載されていない。
インテリジェンスは効くが、よく使うまとまった構文を蓄えておいて
使いたいときにすぐ呼び出せるにはどうするか考えた結果、この方法に落ち着いた。
スニペット呼び出し
イミディエイトウィンドウから対象のスニペット関数を実行し、
表示されたコードをエディターに貼り付けて使用する。
仕組み
スニペット用のモジュールにスニペット関数を作成する
関数自体はシンプルで、Debug.Print
でコードをイミディエイトに表示するだけ。
スニペット用の標準モジュールを作成してその中にまとめておく。
これを個人用マクロブックの xlsb にでも挿しておくと良い。
ポイントは関数の命名規則。
まず先頭はわかりやすく**SNI_**で統一している。
これによって、sni と入力後にCtrl+Spaceで一覧を表示できる。
ここに表示されるのは関数名そのものなので、
関数名は内容がわかりやすいようにしておく。
次に、 SNI_ に続く部分はカテゴリーを表記している。
対象とするオブジェクト名 ListObject_ や、
プロシージャテンプレのようなものを入れておく Proc_ など。
これによって多少の絞り込みができるようにしている。
特に使用頻度の高いものは 00_ などつけてリストの上位に出すようにしても良い。
スニペット関数の作成と管理
スニペット関数を直接書いていくのは非常に大変である。
- すべての行を
Debug.Print ""
で囲む必要がある - コード内のダブルクォーテーションをエスケープする必要がある
- モジュールの中に内包してしまうと管理ができなくなってしまう。
そのため、スニペットの管理と作成は専用のブック上で行っている。
カテゴリーと名称も分けておくことで個別の管理も問題ない。
素のコードからスニペット関数化を作成する部分と、
スニペットモジュールに反映する処理は自動化している。