ここでは、VBAプログラムにて使用しているString型に、格納されている文字データの種類を判定するサンプルコードを公開してます。VBAの標準関数では、IsNumericなどを利用すると、数値文字列を判定することが出来ますが、文字種には数字以外にも、全/半角や記号、制御コード、英字、ひらがな、カタカナ、漢字などが存在します。これらを全て判定するには、VBAの標準関数だけでは、少し脆弱な感じがします。というわけで、今回は、これらの文字種が判定できるよう、判定用テーブル(配列)を利用した、文字種判定のサンプルを公開します。
また今回のように、大きいサイズのテーブルを、VBAプログラムでコーディングしたり、メンテナンスすることは、非常に面倒で、手間が掛かることになるのですが、サンプルには、その辺りを効率的に行うヒントものせていますので、そちらも参考にしてみてください。
ソースコードが以下からダウンロード出来ます。ソースコードは、Microsoft社の製品 エクセル向けに書いたものなので、利用するには、ご使用のコンピュータに、エクセルがインストールされていることが、必須条件です。
以下がエクセルで動作しているサンプル画像です。
判定テーブル作成用に、予約領域を用意していますので、皆さんで、独自に判定したい文字種があれば、そこを利用してテーブルを作成し、EnumCharKindProperty列挙値に、ビット割付を追加(下位2バイトが未使用)し、拡張して利用してみてください。
作者は、本ソフトウェアの使用または使用不能から生じるコンピュータの故障、情報の消失、その他あらゆる直接的及び間接的被害に関して一切の責任を負いません。
サンプルに含まれるデータは、私の創作によるものです、サンプルデータに含まれる個人名、会社名などの情報は、実在の人物とはまったく関係ありません。
ご使用にあたり、改善の要望、不具合の発生等ありましたら、画面下のアドレスまで、ご連絡頂きますよう、宜しくお願いいたします。ご面倒、ご不便をお掛けしますが、宜しくお願いいたします。