- ベストアンサー
VBAについて教えてください。初心者です。
前回、VBについて質問させていただきました。 そのときに親切な方々に教えていただきVBとVBAは別物だと知りました。 日経ソフトウェアの本を読みながらVBの勉強をとおもってたのですが、VBAだったためLoadコマンドなどのプログラムですでに解らなくなってしまったのです。 いろいろ質問欄を拝見させていただきましたが、VBの勉強をVBAでしてても問題はあまりないとなんとなく解って来たのですが、VB専用(日経ソフトウェアの様な本)の本を読みながらですとVBAでは仕様が違うプログラム内容が出てきそうなので、VBA専用の参考書とか解りやすい専用本ないでしょうか?? 解りやすいと言うところが難しいかもですが、よろしくお願いいたします。 また、VBが出来るって人に言うまでのレベルになるにはVBAで勉強を進めていても問題ないでしょうか?? 度重なる質問ごめんなさい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。ご質問に、興味を持ちました。 私は、Office VBAを少し知っている者です。 VBとVBAは、まさに追いかけっこですが、Office は、Officeなのです。私は、最近、やっと分りかけてきたような気がします。Office VBAは、Office のアプリケーション・ソフト自身を(その仕様の歴史を含めて)学ぶことだったのです。それぞれのアプリケーションは、統合的な部分を持っているので、VBAを学ぶことは、VBAだけでは済まされなくなります。だから、VBの一部には、VBAは含まれるけれども、VBAでは、VBにはないものがあるわけです。逆もありますが、かなり意味が違います。VBAは、あくまでも、そのアプリケーションソフトを使って、仕事をさせることです。 だから、VBAの学習は、途中からぜんぜん違うステージになってしまいます。VBの勉強をするのでしたら、最初から、VBから始めたほうがよいかと思います。そのほうが(資金的にも)無駄が少ないような気がします。 下世話な話をしますが、VBAだけでは食べられないが、VBでは、まだ食べられるっていうことです。VBAは、しょせん、Officeアプリケーションに依存していくだけのものです。逆にいえば、VBAで、ベタ(記録マクロ)コードでもスパゲティ(構造化もない)コードでも、目的が達せられれば、(本人が気が付かないことは、不幸ですが)99% 誰も問題にはしない、ということです。それだけでも、会社の中では、重宝がられるでしょう。 VBで、アプリケーションを作って流通できますが、ExcelのVBAで作りましたと言っても、単体では、どうにもなりません。(ただし、再配布権を持ったAccess データだけが、仕様が違います。) Office VBAで作ったものは、Vectorなどで、シェアウェアとして出回っているアプリケーション・ソフトよりも、はるかに優れた機能や性能を持ったものが作れます。しかし、その依存性から、しょせん、Officeの特定のアプリケーションの所有者にしか共有できません。 学習上で、Office VBAの最大の問題は、文末の市販の書籍で示したように、Excel VBAとAccess VBAしかないし、その中でも、本当に満足いける教科書というものが少ないのです。ほとんどは、VB6 のダウンサイズしたものです。 そして、Office 2000の販売を最高に、その販売本数が非常に落ちてきてしまいます。それに比例してか、Office VBAの本格的な参考書は、2001年を最後にしているように思われます。(以下では、2000年)Office 2003のAccess以外の、VBAの切り離しオプションという選択を含め、今後、Visual Studio Tools for Office (VSTO)になるのかは、Officeの販売状況にもよるのでしょうが、VSTOは、その製作物の性格が、かなり違います。Office VBAの勉強をするなら、VBとかは関係がなく、今しかないと思ってすることではないでしょうか? ----------------------------- Visual Basic for Applicationのプログラミングリソース(最終更新日 2005年9月20日) http://support.microsoft.com/default.aspx?scid=kb;ja;163435 (ほとんど全て、入手不可能です。) VBA用の現在流通している書籍 アマゾン http://www.amazon.co.jp/exec/obidos/ASIN/4774119660/vbaajpn-22/250-0109234-1158679 日本VBA協会 http://www.vbaa.jp/training/books.htm
その他の回答 (2)
- piyo2000
- ベストアンサー率49% (144/293)
>VBの勉強をとおもってたのですが、 >VBAだったためLoadコマンドなどのプログラムで >すでに解らなくなってしまったのです。 ここで既におかしくなってますね(^^; 「VBの勉強をしたい(VBで何かを作る)」というのであれば、VB6なりVB.NETなりを入手したほうがいいでしょう。 VB(6)とVBAは、言語的な仕様(文法)は殆ど同じ(VB.NETとは異なります)ですが、目的が違いますから。 >VBの勉強をVBAでしてても問題はあまりない もちろん問題はあまりありません。 ですが、それは「VB(VBA)で何が出来て、何が出来ないか」を分かっている場合です。 VBAで書いたコードをVBで動かすには多少のアレンジが必要になりますし、逆もまた然り。 これはVBとVBAの違いが分かっていないとできないですしね。 >VBが出来るって人に言うまでのレベルになるには >VBAで勉強を進めていても問題ないでしょうか?? うーん(^^; #1さんが仰っていることと被りますけど VBAで勉強をして言えるのは「VBAが出来る」ということだけです。VBを使ったことが無いのに、「VBができる」とは言えません。 VBAではどうしても出来ないこと(または難しいこと)が、VBにはたくさんありますから。
お礼
うう、ごめんなさい。なんだか私にはまだまだ早いって感じなのでしょうか・・。 プログラミングの勉強に興味を持ったのでVBは??って考えてたのですが、なかなか難しいですね。 お返事ありがとうございました^^
- imogasi
- ベストアンサー率27% (4737/17069)
>VBとVBAは別物だと知りました http://okweb.jp/kotaeru.php3?q=1661749 の#4で私は主張しています。 エクセルVBAはエクセルを自動実行するものです。VBはそういう制約はありません。 >VBA専用の参考書とか解りやすい専用本ないでしょうか 見てびっくり、東京の大型書店ではVBA(エクセルVBAですが)の本は随分沢山でていますよ。地方在住の方ですか。 >VBA専用の参考書とか解りやすい専用本ないでしょうか 相性があるので、そうですね、推薦しにくいですね。 >VBが出来るって人に言うまでのレベルになるには 本で独学しているだけでは 少しぐらい本を読んでも、OKWEBに質問に出くわすと、知らない自分にがっかりして、とてもできるっていえませんよ。 >VBAで勉強を進めていても問題ないか エクセルVBAはエクセルのためのVBA、VBはより汎用的な言語ですから、違う分野を扱う場合が多いと思います。文法に共通点があり、学習に入りやすいぐらいに考えておくべきでしょう。 >日経ソフトウェアの本を読みながらVBの勉強をとおもってたのですが 日経ソフトウェアの本はJAVAありVBありVBAありですから、これから勉強する人には、その言語だけの学習書が必要でしょうね。 http://software.nikkeibp.co.jp/software/backno/mookbacknoc.html
お礼
何度もお返事ありがとうございます。 学習に入りやすいぐらいに考えておくべき、これって大切なアドバイスとして受け取らせていただきました。 本当にありがとうございました^^
お礼
解らないことの他に、不安な部分も教えていただけたような気がしました。参考にさせていただきます。 沢山のサイト情報、本当にありがとうございました^^