- ベストアンサー
VBAとjava
VBAをマスターすればjavaなども理解できるようになりますか? VBAとjavaは似ているのでしょうか? またVBAとjavaはどちらの方が難しいのでしょうか? よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
補足: Javaのほうが難しいという人のために、Office のプロの資料を紹介させていただきます。 Microsoft Excel 97 Developer's Kit http://www.amazon.co.jp/exec/obidos/ASIN/1572314982 Microsoft Office 2000/Visual Basic プログラマーズガイド (販売は不明-以前は、ASCII で発売されていたと思います) Writing Word Macros http://www.amazon.co.jp/exec/obidos/ASIN/1565927257 Wordが特に厳しい。ヘルプの誤訳はともかく、日本には、どうも紹介されていない部分がいくつかあるようです。もちろん、Excelも同じですが。日本では、こんなに豊富にQ&Aや掲示板があるのに、ある分野では、ほとんど話題にもならない部分があります。 後は、Accessは同じみだから割愛して、Outlook があります。Outlook VBAは、まったく触れられません。 Office VBAの一連の流れは、以下を見ると良く分かります。長くつらい道になってしまいます。一本道ではなく、何度も山を越えていかなくてはなりません。入門編でとどまるなら、Office のほうが有効です。しかし、Office VBAは、VBAだけにとどまらないわけです。OfficeのVBAではない、一般上級知識というのを勉強すると、まるで初心者になったような気がします。Wordなどは、私の知っている限りでは、1980年代に出ていたコード(数式?)です。普通の人は、知らないものが一杯あります。Office のプロといわれる人が、日本で数少ないのは、分かるような気がします。単なるインストラクターでは修まらないからです。決して、なめたものではないのです。ただ、それは、常に「MSの無情な改編」という不安を背負っていかなくてはなりません。 http://vbae.odyssey-com.co.jp/vbae/concept.htm http://vbae.odyssey-com.co.jp/vbae/level.htm 本来は、比較などは出来ないものですが、Java とOffice VBA とは、一覧で見えるphase が違うのですね。しかし、Office VBAは、そのphaseから、次には、一向に進まないのです。それは、周辺知識も資料もないからなのです。一部のプロの知識だけで、まかなわれているわけで、本来、Office は、97~2003は、単独で操るのは、通常は、Javaなのですが、Office 側は、もっと末端の知識が必要になるわけです。ほとんどの人は、その末端の知識に埋もれてしまうというのが、実際のところではないでしょうか?
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 質問には書かれていませんが、たぶん、質問に至る経緯というものがおありだと思います。 ここのカテゴリで、両方に精通した人はいないと思います。私は、Office 側から少しコメントさせていただきます。Office VBAは、軽んじられますが、それはそれに難しい部分があります。一概に、簡単とは言い切れません。私は、しょせん、アマチュアです。どこまで行っても、プロにはなれません。ただ、少しばかり、知っている程度です。 Javaを考えると、練習したり学習したりすることは可能ですが、私自身が、その使う場が得られないと思い、今回、その機会はあったけれども、辞めたという経緯があります。 ただ、その人に、どんな才能が眠っているかは分かりませんから、どちらが難しいというよりも、どちらが自分を活かせるか、どちらが使えるか、可能性を単位にして考えればよいのではありませんか?ダメでもともとだと思います。 この世界の昔の格言で、「Basic プログラムが出来る人でも、志あって10人に1人。しかし、アセンブリ言語に至っては、100人に1人の世界だ」と言われてきました。だから、出来なくてもよいのです。 その機会があるなら、どんどん進めればよいと思います。 VBAにしろ、Javaにしろ、本を読めば出来るなんていうことはありえないにしろ、本を丸写しにして、ちょっと変えれば出来るとは思います。それでも、経験のひとつには違いありません。確かに、VBAには、オブジェクト指向はむき出しでは出てきません。しかし、Office VBAが簡単で素人のものだとする、一面識では、なかなか、ラチがあきません。どちらかというと、Office VBAは、雑学的知識が必要だと思います。その題材は豊富でも、1本に絞ることの出来ないむつかしさがあります。そして、なかなか、深まっていかないのです。掲示板の流れを見ていても分かると思います。 Office VBAに関して、ExcelとAccess に関しては、これでもかというぐらいに入門レベルの書籍は豊富です。それをみて、「たかがVBA」だと思うのかもしれません。 ただ、ちょっと深入りすると、MS-Office というのは、すでに、15年以上の歴史を持つのにも関わらず、今の基礎のOffice 97の書籍すら手に入らないという現実に、少し難しい問題になると、すぐに自力では立ち往生してしまうと思います。未だ、Office では、DDEが使われているのに、それらの資料さえ、ほとんど手に入りません。記録マクロをとれば、Ver.4 マクロが出てくる現実を、どう受け止めていくのでしょうか? にも関わらず、Office プログラムは、将来も続けていれば、かならず、VB.Net やC# を学ばなければならないことを念頭において、VBAを進めていくとなると、なかなか頭の痛い問題が山積しているような気がします。 ここのカテゴリでも、旧時代のOffice テクニックは、さっさと切り捨てればよいのだ、といっている豪のモノもいるのですが、なかなか、そうは行かないのが、ほかならぬMicrosoft 自身なのです。 今、Office 97 の時代なら、大いに、VBAをやったらよいです、といえるのですが、今となると、なんともいえない状況だと思います。VBAを外に置いておいて、つまみ食いでも、試してみるのもよいかもれません。
お礼
大変参考になりました。ご回答ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAしか知らないでJAVAの解説書を1冊も読まないで質問してませんか。的外れの質問です。VBA例えばエクセルVBAはエクセルのブック・シート・セルの値や書式を処理するために特化した、オブジェクト・メソッド・プロパティが決められていてそれをスクリプト的に使うのが本来の役割です。VB6.0がベースになっているということで、単純な処理ならVBの代わりに使えたりしますが。 一方Javeは一般汎用言語です。クラス・インスタンスの考えの徹底化や、オブジェクト・メソッド・プロパティの考えが徹底していて、オブジェクト指向の継承など概念が取り入れられています。こういうのはVBAには徹底されてません。 むしろVB.NETはJAVAの仕様に近づいたように思います。 http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E8%A8%80%E8%AA%9E%E3%81%AE%E6%AF%94%E8%BC%83 JAVAの言語の基礎概念を理解するだけでも大変なことを肝に銘じる必要がある。 例えば http://www.wakhok.ac.jp/~tatsuo/JavaWorld/1st/object.html http://www.cs.is.noda.tus.ac.jp/~mune/oop/node6.html を読んで、なるほどと感じる方なら、言語の天才でしょう。 ーー プログラムの世界は1文字違えばアウトの世界です。 >似ているのでしょうか、と聞いて似ているといわれたら安心するようなのは性格が弱い。 ある程度以上勉強して、自ずと知識が整理されて、似ているとかの感が醸成されてそういう結論になることはあっても、こんなことを初めから他人の言を聞いてもメリットは無い。 >VBAとjavaはどちらの方が難しいのでしょうか VBAをかじったのでしょうから、JAVAをやる必要があれば、新しい気持ちでやればよい。VBAだったらこうだったは、知識整理には良いが、習得の場合は妨げにもなる人もいるかもしれない。 似ていればチョコチョコとJAVAに手を広げたい、なんてものでは絶対無い。
お礼
相当大変そうですね。リンクの方参考にさせていただきます。ご回答ありがとうございます。
- SAKENOSAKA
- ベストアンサー率32% (78/240)
VBAは関数辞典を見ながらでも簡単に作れます。 Javaと言えばVBAに比べるともっと壮大なもので だいぶ次元が違います。 まずオブジェクト指向言語ですので理解するまでに一癖あります。 しかし、構文などは同じような使い方なので 全く役に立たないわけではないですね。 プログラムの入門としてはVBAもいいでしょう。 Javaを本当に理解するなら何年も何年もかかりますよ。 オブジェクト指向の本質は奥が深いですからね。
お礼
javaの方が難しそうですね。 大変参考になりました。ご回答ありがとうございます。
- showado
- ベストアンサー率22% (27/118)
VBAはエクセルやアクセスをベースにして動かすプログラムです。アプリケーションの基本部分は既製品を使うわけですから、とっつきやすいです。 エクセルVBAでいえば、表は最初から用意されています。これをJAVAでやろうとすると、表を表示すること自体もプログラムで書かなくてはなりません。 VBAができるようになれば、ほかのプログラムも理解できるようになります。 VBAは個々のパーツの形が出来ているプラモデル、JAVAなどのプログラム言語は「竹ひごをけずるところから手がける模型」と考えたらわかりやすいでしょうか。
お礼
難しそうですね。ご回答ありがとうございます。
- assault852
- ベストアンサー率48% (1364/2797)
似ていないと思います。 VBAを憶えてもJavaには役に立たないと思います。 難易度はどちらも同じようなものだと思います。
お礼
そうなんですか!大変参考になりました。ご回答ありがとうございます。
お礼
大変参考になりました。ご回答ありがとうございます。