【ツール紹介】スーパー開発ショートカット 爆速開発を実現しよう!!
- yuji fukami
- 10月10日
- 読了時間: 10分
更新日:10月10日
概要
以前の記事にてリボン登録マクロの登録を簡単に出来る「リボンXMLエディター」というものを紹介しました。
↓記事リンク
今回紹介する「スーパー開発ショートカット(Super Development ShortCut)」(以下:SDS)は、以前紹介したリボン登録マクロより
・より簡単に設定可能
・より迅速にマクロを実行可能
となるノウハウです。
このSDSを読者様の環境化にも提供することを本記事の目的としています。
スーパー開発ショートカット(SDS)とは?
まずは次のような動画をご覧ください。
動画の手順をまとめると次のようになります。
①:任意のセル範囲を選択
②:F1キーでSDS起動
③:コマンド「4」を入力して「罫線モード」へ
④:コマンド「1」を入力して「罫線を設定」マクロを実行
⑤:選択セル範囲に罫線が設定される
ここで実行している「罫線を設定」はすでに私の環境下では下記画像の様にリボンにも登録してあるマクロであり、「選択セル範囲にテンプレートの罫線を設定する」ような処理が組まれています。

この「罫線を設定」の実行を上記手順の②③④だけで実行します。これをいわば「コマンド操作」と私は読んでいますが、「罫線を設定」には「4」→「1」とコマンドを割り当てておいて、このコマンドは自分の体が完全に覚えているので、瞬時に実行ができます。
自分の体がコマンド操作を完全に覚えているので、実際の作業では下記のようなスピードで実行できます。これが最初にSDSの長所「より迅速にマクロを実行可能」の理由です。
「リボン登録マクロ」の場合は、
「タブを開く」→「マウスを移動する」→「タブの中のリボンをクリックする」
の手順が必要で、いちいちマウス操作が手間になります。代わりにアクセスキーで呼出もできますが、アクセスキーは下記画像の様に「Y*」でリボン登録マクロの数だけ勝手に設定され、自由に変更は不可能です。

ちなみに、似たようなマクロの呼び出し方法として「ショートカットキーの登録」もありますが、便利機能をどんどん追加したくて多量のマクロにショートカットキーを登録しようとすると
・標準機能のショートカットキーをいくつか上書きして諦める必要がある
・マクロが多くなるとこれ以上登録できるショートカットキーが無くなるという事態に陥る
という問題が発生します。
SDSはこれらの問題も解決するノウハウとなります。
SDSの実装
上記にて散々SDSのメリットを紹介しましたが、ようやくSDSの実装について解説します。具体的な技術的側面の解説は無しで、添付のファイル等を手順通りにやれば実装が完了するように誘導します。
手順1:パッケージのダウンロード
下記パッケージをダウンロードしてZipファイルを解凍してください。
解凍すると下記ファイルが入っているのを確認してください。

frmSuperShortCut.frm:SDSのユーザーフォームのインポート用ファイル(インポートする必要があるのはこちらのみ)
frmSuperShortCut.frx:SDSのユーザーフォームのインポート用ファイル(こちらはインポートの作業は不要)
LICENSE.txt:ライセンス情報
ModSuperShortCut.bas:SDSの起動用の標準モジュールのインポート用ファイル
README.md:取説
スーパー開発ショートカット設定 ver1.01.xlsm:SDSのコマンド設定用のマクロ付ブック
開発ショートカット設定_開発用.xlsm.txt:「開発用.xlsm」のSDS設定テキストファイル
開発用.xlsm:SDSが実装されたマクロ付ブックのサンプル
手順2:SDSのインポート
SDSを実装したいExcelファイルに「frmSuperShortCut.frm」と「ModSuperShortCut.bas」をインポートしてください。ちなみに「frmSuperShortCut.frx」はそのままで大丈夫です。
インポートはVBEを起動して、プロジェクトエクスプローラーにクリック&ドラッグでもよいですし、プロジェクトエクスプローラー内で右クリックで「ファイルのインポート」でも可能です。

インポート先のExcelは「リボン登録マクロ」の記事でも説明した通り、普段よく使う便利マクロが実装してあるアドイン(xlam)や個人向けマクロブック(xlsb)などがお勧めです。
手順3:SDS起動のF1ショートカットキーの設定
SDSを実装するExcelファイルのThisWorkbookのコードウィンドウで下記のコードを記述してください。
具体的に説明すると起動時のイベントプロシージャ(Workbook_Open)内に、「ShowFrmSuperShortCut」の実行にショートカットキー[F1]を設定するような処理になります。
もし[F1]以外のキーをショートカットキーに登録したい場合は、上記コードの{F1}の部分を書き換えてください。
手順4:「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」にチェックを入れる
「開発」タブ→「⚠マクロのセキュリティ」をクリックして表示される「トラストセンター」ダイアログの中で「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」にチェックを入れて「OK」を押して設定完了してください。

もしこの設定ができていないの、手順5以降の作業の途中で次のようなエラーが出てくることがあります。

手順5:ライブラリの参照
VBEの画面において「ツール」タブ→「参照設定(R)」で表示される「参照設定 - VBProject」ダイアログにおいて2つのライブラリを参照設定しておきます。
・Microsoft Scripting Runtime
・Microsoft Visal Basic for Application Extensibilty 5.3

手順6:「スーパー開発ショートカット設定 ver1.00.xlsm」を利用してコマンドの設定
パッケージファイルの中にある「スーパー開発ショートカット設定 ver1.00.xlsm」を利用することで、SDSによって実行させるマクロのコマンドの設定を行えます。
SDSを実装するExcelファイル(下記例では「開発用.xlsm」)を起動した状態で「スーパー開発ショートカット設定 ver1.00.xlsm」を起動します。
一番目のシートである「マクロ一覧」シートにて「ブック一覧表示」ボタンを押すと、起動中のブックがB6セル以下に一覧で表示されます。
処理対象とするブックをセルをダブルクリックして選択することができます。

「マクロ一覧出力」ボタンを押すと、選択ブックにおいて記述されているマクロが一覧で表示されます。ちなみにこのマクロは「標準モジュール内」「Subプロシージャ」「Publicスコープ」「引数は必要なし(Optional引数はあってもよい)」という条件で、これらのマクロのみSDSで起動登録ができるようになります。
「開発用.xlsm」では「ModTest」モジュール内に「S_テスト1」「S_テスト2」「S_テスト3」の3つのマクロを仮に記述しています。

「マクロ一覧」シートの「コマンド設定にマクロ一覧転記」ボタンを押すと、2番目のシートの「コマンド設定」シートに表示中のマクロ一覧を転記します。
以降、「コマンド設定」シートにてSDSに起動登録するマクロの設定を行います。

三番目のシート「大区分設定」シートにおいて大区分を自由に設定可能です。下記例では「コマンド1」「コマンド2」と2つの大区分が設定されコマンドキーは「1」「2」としています。
「コマンド設定」シートに戻って、コマンドを設定したいマクロの大区分名のセルをダブルクリックすると、大区分の選択入力フォームが起動します。選択入力フォームで大区分を選択入力すると、右側のセルの「コマンドキー1」が自動的に計算されて表示されます。

次に「表示名」「コマンドキー2」を設定します。こちらは覚えやすいコマンドは見分けがつきやすい表示名を考えて自由に設定してください。
「設定テキスト出力」ボタンを押すとSDSの設定が保存されたテキストファイルが出力されます。
最後の初回実行だけですが処理対象ブック(開発用.xlsm)を起動しなおしておいてください。

起動しなおした処理対象ブック(開発用.xlsm)において「F1」キーを押すとSDSが起動して、上記で設定したコマンド操作でマクロが実行できるようになります。

筆者のSDSの実装例
上記ではサンプルをもとに実装・設定の手順を説明しましたが、「実際のどのように設定したらよいか分かりづらい」と思いますので、筆者が実際に使用している設定例を紹介します。
手順2でも少し触れましたが、筆者の場合は常時起動するアドイン(xlam)ファイルに便利マクロ等を沢山記述しているので、SDSもこのアドインファイルに実装しています。アドインファイルの名前は「IkiAddin.xlam」としています。

「スーパー開発ショートカット設定 ver1.** .xlsm」においての大区分は18通り設定してあります。まだ統一感はないですがコマンドキーは数字であったり、思い出しやすい頭文字を当ててたりします。

「コマンド設定」シートの全設定です。これらすべてを解説は出来ませんが、すべてで129のマクロがSDSの起動設定に登録してあります。

「SDS」および「スーパー開発ショートカット設定 ver1.** .xlsm」のその他の機能
上記の説明の中では述べなかった「SDS」および「スーパー開発ショートカット設定 ver1.** .xlsm」のその他の機能を紹介します。
「SDS」:実行マクロのコード表示
上記でのSDSからのマクロ実行は「F1」→「コマンドキー1」→「コマンドキー2」でしたが、この操作の中で「F1」→「コマンドキー1」→「スペースキー」→「コマンドキー2」とすることで、「実行」ではなく「コード表示」に処理を切り替えることができます。
この操作によって、特定のマクロの修正をすぐに着手できたりします。

「SDS」:「内蔵設定反映」
SDSが起動中に「内蔵設定反映」を押すと、現在の設定テキストの内容を内蔵設定として保存します。
具体的に「ModForSuperShortCut」モジュールを自動的に作成して、その中に「GetSettingForSuperShortCut」というプロシージャを自動的に生成します。
もし「設定テキスト」が存在しない場合はこの「GetSettingForSuperShortCut」に記述された設定を呼び出すようになっています。
この処理によってSDSが実装されたマクロ付ブックやアドインを設定テキストなしに配布することが可能となります。

「SDS」:「Shift+F1」で前回実行マクロの繰り返し実行
SDSを介して実行したマクロは「Shift+F1」でもう1回実行できます。この機能によって同じコマンド操作を繰り返さずとも、前回実行したマクロを何度も繰り返し実行が出来るようになります。
ちなみに、この「Shift+F1」のショートカットキーの設定は「SDS」のユーザーフォームのコードの中で「S__マクロ実行選択」プロシージャの中で下記画像の「+{F1}」の部分です。「Shift+F1」以外を設定したい場合は、この部分を書き換えてみてください。

「スーパー開発ショートカット設定 ver1.** .xlsm」:ダブルクリックでマクロのコード表示
「マクロ一覧」シートおよび、「コマンド設定」シートで表示されているプロシージャ名をダブルクリックすると、VBEが起動して、そのプロシージャのコードが表示されます。
表示名やコマンド等を設定する際に、「あれこのマクロはどんな処理だったっけ?」などの思い出しに活用できます。

「スーパー開発ショートカット設定 ver1.** .xlsm」:「設定テキスト読込」
「マクロ一覧」シート内の「設定テキスト読込」ボタンを押すと、選択中ブックのSDS設定のテキストファイルの中身を取得して「コマンド設定」シートに出力します。
SDSの設定テキストの設定を編集しなおす場合に利用できます。

「スーパー開発ショートカット設定 ver1.** .xlsm」:並び替えと罫線設定
「コマンド設定」シートの「罫線設定(モジュール基準)」「罫線設定(大区分名)」ボタンにとって、それぞれモジュール名、大区分名で昇順で並び替えて、罫線で区切って見やすく表示できるようにします。


「スーパー開発ショートカット設定 ver1.** .xlsm」:「整列」ボタン
「コマンド設定」シートの「整列」ボタンは
①:「コマンドキー2」で昇順
②:「コマンドキー1」で昇順
③:「コマンドキー1」で罫線で区切る
の順番で自動的に処理を行います。
「コマンド設定」シートの整列に利用できます。

「スーパー開発ショートカット設定 ver1.** .xlsm」:検索機能
「コマンド設定」シートの3列目に値を入力すると、各列で文字列部分検索が可能です。特定のマクロの検索などに利用できます。
ちなみに左側にある「検索初期化」ボタンで検索結果を初期化します。

その他あとがき
SDSのようなコマンド操作でマクロを実行するアイデアは、CADソフトに大体備わっているコマンド操作をヒントにしています。筆者はAutoCADやRhinocerosなどを使用した経験がありますが、これらのCADソフトには「コマンドライン」という機能があり、こちらにキーボード操作で何かしらの文字列を入力すると、それに応じて様々な機能が呼び出せます。
「このような機能をExcelにも実装して、自分専用の便利マクロなどを簡単に起動出来たらいいな」というのが発端です。
コメント