• ベストアンサー

名前空間

vbaとvb.netを両方勉強し始めたのですが 「名前空間」という言葉が、vb.netのほうに頻繁に出てきますがVBAでは出てきません。 VBAには関係のないお話なのでしょうか? 名前空間の意味は分かっていませんが、とりあえず宣言しろってことだと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#237555
noname#237555
回答No.1

一般に名前空間(namespace)はプログラムモジュールの名前の衝突を防ぐ目的で導入された考え方で,大規模開発を念頭に入れたプログラム言語においては,多かれ少なかれ(名称は異なるものの)似たような仕組みを備えています. VBA等の比較的小規模のプログラムでは関数の名称が重複しないように気をつけることも可能ですが,これが多数のプログラムを連結するような大規模なものとなると,自ずと名称が重複してしまう可能性が高まります.そこで「名前空間」と呼ばれるカテゴリを定義することで,「同じ名称ではあるが異なる目的で導入されたもの」として管理がしやすくなります. また,プログラムライブラリを購入して利用する場合,他社が作ったモジュールの名称を勝手に変更することはできませんが,この「名前空間」によって最初から自作のプログラムとは異なる関数であることが保証されるため,安心してプログラム作業を進めることが可能となります. ですから,プログラミングの上で名前空間の宣言自体は必須ではありませんが,コードの管理をやりやすくするプログラミング作法として憶えておけば良かろうと考えます. ----- VBAではそもそもexcel等の利用者自身がちょっとしたマクロを記述するといったケースを想定しているため,名前空間の仕組みを備えずとも済んでいるわけです.ですから,大規模なプロジェクトをVBAで構成するのであれば名前空間に代わる仕組みを自分で定義しなければなりません.

kgmhepsa1
質問者

お礼

ありがとうございました。