こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

mac Excel でマクロを覚えるならVBA?

現在会社でMac用のMicrosoft Office X と Office 2004 を使っておりマクロの勉強をしたいと思っています。

しかし、mac版の最新officeではVBAというマクロ言語がなくなったと聞きました。いずれは会社もoffice2008にするかと思いますが、まだ先のようです。またいつかは転職してwindowsな会社に行くこともあると思います。この状況で、マクロを勉強するならやはりVBAを学んでおいた方がいいのでしょうか。それともVBAはexcelからなくなる予定で、違う言語?が今後は主流になるのでしょうか。

今の私はexcelのどのバージョンで何を学び始めるべきなのか教えて下さい。

投稿日時 - 2009-11-09 21:22:47

QNo.5434907

暇なときに回答ください

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

こんにちは。

今となっては、「次のバージョンで、Mac BUのVBAは復活します」という発表で、単なる騒動には終わってしまったように思いますが、現実には、Mac側は複雑な問題を残しているようです。Win側としても、VBAの廃止(the removal of VBA)は、Office 開発チームのリーダーが公式に否定しました。

Next Office:Mac will bring back VBA support(2008/5/13) で、「次期 Office :Mac は、VBAのサポートを戻します」と言っています。

http://www.betanews.com/article/Next-OfficeMac-will-bring-back-VBA-support/1210717012

Mac Office 2008 の Mac BU (Business Unit)で、VBAが付けられていないのは事実であったし、その代わり、VBAサポートがなくなっても、REALbasicが使えるという話でしたが、REALbasic は、Officeのバージョンの互換性もなく、同じように使えるものとは言えませんでした。

VBAが搭載されなかったいきさつは、「Visual Basic にさよなら(Saying goodbye to Visual Basic)」というブログで書かれていました。
http://www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/

それよりも前に、Windows Office 版も、そろそろ、VBAは終わりだというもっぱらの噂は、もう4~5年前から言われていたことです。

その後、Next Microsoft: Office will continue to support VBA (2008/1/23)に、「次期 Microsoft Office:、VBAサポートを継続します。」と、Scott M. Fulton, III  という人が書いていますし、Excel 開発チームの Joseph Chirilov という人も、同様に、「VBAは、非常に多くのユーザーがいるので、将来のバージョンに、Excelから、VBAをなくしてしまうという計画はない」と言っています。

http://www.betanews.com/article/Next-Microsoft-Office-will-continue-to-support-VBA/1201120613

ただ、最初に書いたとおり、複雑な問題というのは、仮に、Mac VBAが復活しても、Win 版のように、新しい技術に対応できているのかどうか、分からないのです。そもそも、VBAで新しい技術に対応しようとするのは、ある意味ではナンセンスですが。

もしも、VBA の開発のプロの人間でしたら、すでに、OLEからCOMに移っているでしょうから、ここで書くのは意味がありませんが、Win版一般ユーザーとしても、こうした流れに安閑としないほうがよいと思うのです。

すでに、VSTO や VS2008 のProfessional 版で、Office の対応をしています。言語としては、VB.Net や C# が使えます。一部では、VSTA(Visual Studio Tools for Application)として、用意されていますから、当然、今後は、こうした言語を想定しておいても良いのかもしれません。

なお、技術の習得に関しては、1年程度で、VBAは問題なく使いこなせられるようになりますし、VB.Net の習得も、VBの下地があれば、一通りの技術は、比較的早く覚えられますが、しかし、VB.Net は、Visual Basic6(VB)時代のものとは似ていて、かなり違うものです。端的にいうと、本格的に、オブジェクト指向の技術が導入されているわけです。

一般のOffice ユーザーが頂点の技術が必要かどうかは別ですが、現実、Win 版 Office 2007 でも、直接ではないにしても、Word やPowerPoint に、VBAに、今までにはない考え方が必要になって、VBAプログラマをまごつかせます。しかし、Excel VBAでは、それに直面することがありません。Microsoft は、一体、どういうつもりなのか疑問に思うことがあります。単なる技術的に対応出来なかったというような話ではなく、それとはまったく逆で、Excelこそが、古い技術を温存しているだけに過ぎないように思うのです。

いずれにしても、VBA=VB6は、過去のものだということは覚えておく必要があると思います。Microsoft 社では、Win版に限りますが、VS2008(Express Edition)を無償供給していますから、必要だと思えば、今のうちに習得しておく必要はあるのですが、Mac版ですと、DeveloperTool(DAC)をインストールして覚えればよいのですが、WinかMac かの選択は、ある意味では人生の選択のようなものです。どちらにするかはいいにしても、願わくば、Microsoft の突然の変更に振り回されないようにしたいものです。

投稿日時 - 2009-11-10 10:50:33

お礼

詳細にご回答をいただきありがとうございます。今の自分には理解しきれない内容も多いのですが、やはり将来的にはどう転ぶかわからない、ということなのですね。いずれにしてもプログラミングは初心者ですので、その下地という意味も込めてとりあえずVBAで勉強しようと思います。ありがとうございました!

投稿日時 - 2009-11-11 00:43:16

ANo.2

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

> VBAはexcelからなくなる予定で、違う言語?が今後は主流になるのでしょうか

Office 2008 for MacはIntel-Macへの対応(UB化)を最優先させた結果、VBA等の機能を搭載するのが間に合わなかっただけの事です。

Mac版とWindows版では機能に若干の違いがありますが、VBAを修得すれば便利です。

Office 2008 for MacやOpenOffice.org系の互換ソフトではVBA使えませんが、ある程度でもVBA(というか考え方)知っていれば他のマクロ言語使う場合でも少しは役立ちます。

投稿日時 - 2009-11-09 21:38:45

お礼

ご回答ありがとうございます。復活する予定があったんですね。とりあえずVBAで勉強しようと思います。ありがとうございました。

投稿日時 - 2009-11-11 00:40:07

あなたにオススメの質問