素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。VBA覚書Enumの研究(1)コードの可読性を上げる一つの方法として、Enumを適切に使うというものがある。前からEnum自体は使っていたが、最近やっと適切な使い方が定まってきたように思うので、Enumについていろいろ実験したことを書き留めておく。Enumの要素名がuniqueであるとき長らく勘違いしていたのだが、Enumの要素名がuniqueである場合、定数のように単独で使うことができる。組み込み定数と書いてあるのが原因だと思う。Microsoftのリファレンスを検索したら、たとえば先の「xlContinuous」の場合、「XlLinStyle列挙体」とちゃんと書いてある。「xlContinuous」を「XlLineStyle.xlContinuous」と書かなくてもよいのだから、自作のEnumだって要素名だけで定数のように使えるのは当り前なのだ。Enumたとえば、このようにEnumを作る。イミディエイト・ウインドウに?firstElementと打ち込んで、[Enter]を押すと、このように、「2」が出力される。「2」を意味する定数として働いていることがわかる。Enumの要素名が衝突しているときでは、Enumの要素名が他のEnumの要素名と衝突していたらどうなるのだろうか。Enumご覧のように、新しいEnum「Foobar」を作成し、先の「Hoge」とほぼ同じ要素を持たせてみる。このようにした上で、イミディエイト・ウインドウに先ほどと同じく?firstElementと打ち込んで[Enter]。「firstElement」だけでは、Enum「Hoge」の「firstElement」なんだかEnum「Foobar」の「firstElement」なんだか、コードを打ち込んだ本人にもわからないのだから、当然こうなる。?Foobar.firstElementとしてやれば、このように意図したとおりの結果は得られる。いちいちEnum名を指定しないといけないのではめんどくさいことこの上ない。まとめここまでをまとめると、Enumの要素名はuniqueにすべし!ということになる。要素名に接頭辞を付けるという対策をとっている。これを真似しない手はない。要素名の先頭にEnum名の略語を添えるというやり方をしている。先のEnum「Hoge」、「Foobar」なら、次のようにするのである。Enumこれだけのことで、uniqueなEnum要素名が作りやすくなる。今回はアホみたいなEnum名なので実感しにくいが、Enum名を役割明示的にして、略語もわかりやすいものにしておけば、コーディングが非常に楽になる。おわりに過去に書いたコードを見直してみて、Enumの使い方が我ながらめちゃくちゃだったので、書いてみました。お役に立てれば幸いです。WinAPIの勉強中。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。