配列を見やすくイミディエイトウィンドウに表示する
- yuji fukami
- 2024年12月29日
- 読了時間: 3分
更新日:2024年12月29日
<概要>
今回は配列を見やすくイミディエイトウィンドウに表示することができる汎用プロシージャの紹介です。
ここで説明する配列は一次元配列、二次元配列を指します。
通常、これらの一次元配列および二次元配列は、デバッグ中にローカルウィンドウで中身を確認できるようになってますが、一次元配列はまだしも二次元配列はローカルウィンドウで、すべての内容を確認するのは大変な作業になってしまいます。
紹介する汎用プロシージャ「DPA」では、あたかも一次元配列および二次元配列をワークシートのセル上に表示するように、イミディエイトウィンドウで中身の要素を整列して表示および確認ができるようになります。
イミディエイトウィンドウにで。一次元配列を出て二次元配列を確認できるようになることで、コードのデバッグ中に配列の中身をすぐに確認できるようになり、コーディングの効率化につながります。特に配列処理を基本とするコーディングにおいては必須のテクニックとなってきます。
ちなみに、汎用プロシージャーの名前のDPAは、DebugPrintArrayの略語です。なぜ略語にしてあるかというと、イミディエイトウィンドウですぐに呼び出しやすくするっていう目的があります。これはプログラミングにおけるエイリアスという考え方に基づいてますが、この他にもよくイミディエイトウィンドウで実行する関数などがある場合は、このように略語で登録してあると非常に便利になります。
<実行例>
今回は実行例を一次元配列および二次元配列の例で説明します。
まずは一次元配列の表示のサンプルコードです。
サンプルコードでは要素数が10で中身がランダムな長さの文字列となる一次元配列を生成した後に、DPAを実行しています。
そしてイミディエイトウィンドウには次のように表示されます。文字列はランダムに生成しているので、出力結果は毎回変わります。

次に二次元配列の場合のサンプルコードです。
実行結果次のようになります。実行結果からわかるように、別の区切り位置がちゃんと揃うように調整しています。

また、デバッグ途中で止めた状態でイミディエイトウィンドウで実行することでも配列の中身が確認できるようになります。実際にこのDPAを利用する場面としては、この方がこの方法が多いです。

<引数の説明>
引数は上記のサンプルコードでは第1引数の表示対象の配列「ShowArray」だけでしたが、他に第2,3,4引数に関しても説明しておきます。
・第2引数「StartRow」:配列の表示範囲の開始行
・第3引数「EndRow」:配列の表示範囲の終了行
・第4引数「StrLength」:各要素の表示文字列長さの上限を指定
中身を確認したい配列の特定の範囲だけを絞って表示したい場合は、この第2,3引数を指定するようにしてください。
また、配列の中の要素の文字列が非常に長い場合は第4引数を指定して表示する文字列の長さを制限するようにしてみてください。
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。
<コード>
実際のコードは非常に長いものになるのでコピーして使用するのは大変と思います。ですので、標準モジュールとしてのインポート用のファイルも下に用意してますのでこちらをダウンロードおよび解凍してVBEにインポートしてみてください。インポートはクリック&ドラッグでも可能です。
Comments