人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Visual Basicを学習したら、Excel VBAやAccess VBAに役立ちますか?

●質問者: ぷちロマン
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● セガビ
●40ポイント

Visual Basicには、「Microsoft Visual Basic」と「Microsoft Visual Basic.NET」の2種類があります。このどちらを勉強されるのかで変わります。

前者であればVBAと互換がありますので、役立つと思います。
後者の場合はおなじBasicでもVBAとはほぼ違う言語になりますので、直接は役立たないと思います。

両者の違いは、ウィキペディアなどで検索してみてください。

(余談ですが、前者はもう古い言語で、オブジェクト指向という設計方法や、マルチスレッドという並列化技術に完全には対応していませんし、Webアプリケーションの開発にも不向きです。もし今後、VBA以外でのプログラミングも考えられているのであれば、後者を学習することも、いろいろ役立つかと思います。)


2 ● lang_and_engine
●60ポイント ベストアンサー

役立つというより,むしろ腹が立つと思いますよ。

「せっかくVBを勉強したのに,VBAは昔風の書き方しかできない。学んだ知識が役立たない」
と,歯がゆい思いをするはずです。

昔のVB,つまりVB6を今でも仕事で使っているような人であれば,
VBAやVBSは同じようにすらすら書けます。
VB6→VBA
VBA→VB6
はすんなり移行できるということです。

しかし,VB6は新規参入できる技術ではありません。
いまVBを学び始めるとしたら,間違いなくVB.NET一択です。

VB.NETはC#.NETと同じく,マイクロソフト社の .NET Framework 上で動作します。
そして,VB6とVB.NETはまったく別言語というほどのギャップがあります。
VB6→VB.NET :同じ系列の言語とはいえ難しい
VB.NET→VB6 :そのような逆行をする人はいない
VB.NETとC#.NET :共通のフレームワーク上で動くので互いに変換可能

なおかつ,VBの生産性の悪さ,言語としての使いづらさ,利用者層のリテラシの低さは
IT業界では,大きな問題として認知されています。

これは正直に言いますが,VBを積極的に学ぼうとしないほうがよいです。
今から .NET 系の言語を学ぶのであればVB.NETではなくC#を誰もが勧めるはずです。

詳しくは下記の記事を参照。
「C#.NETとVB.NETを比較すると,VB.NETはオワコンで未来が無く,技術者としてしっかりできない」
http://d.hatena.ne.jp/TipsMemo+computer-technology/20140517/p1

そういうわけで,公平に言って,どんな理由であれ
今から新しくVBを学ぶべきではありません。
数年以内に悲しい結果になります。

一方,今からVBAを単独で学ぶのは構いません。
VBAはVBとの関連でとらえるのではなく
VBAだけで閉じた独立した世界だとみなしましょう。

そして,できればVBAを使わず,COMのオートメーションを経由して別言語からExcelやAccessを自動操作しましょう。
そうすればVBAを使う必要も無くせるので,VBとは完全に決別です。
その場合でも,先にVBAを経験しておけば,他の言語からのオートメーションを組みやすくなります。

ネットワーク管理のためにVBSを学ぶのは構いませんが,できればVBSよりもPowershellに力を割くほうがよいでしょう。
そうすればVB6時代の負の遺産に引きずられず,.NETを使えます。

結論として,
「昔はYesだったが,現在までの10年間でいうと,否定的な回答をせざるをえない。」
というアンサーになります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ