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

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/08/15 14:08:49
  • 終了:2015/08/16 12:24:46

ベストアンサー

id:language_and_engineering No.2

lang_and_engine回答回数170ベストアンサー獲得回数632015/08/16 08:36:22

ポイント60pt

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

「せっかく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年間でいうと,否定的な回答をせざるをえない。」
というアンサーになります。

その他の回答(1件)

id:segavvy No.1

segavvy回答回数7ベストアンサー獲得回数32015/08/15 14:56:11

ポイント40pt

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

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

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

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

id:language_and_engineering No.2

lang_and_engine回答回数170ベストアンサー獲得回数632015/08/16 08:36:22ここでベストアンサー

ポイント60pt

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

「せっかく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年間でいうと,否定的な回答をせざるをえない。」
というアンサーになります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません