プロが教えるわが家の防犯対策術!

Excelなどに搭載されているVBAの機能は、今後ますます進化していくのでしょうか?
それとも近いうちに別の技術(.NET、VSTO、SharePoint?)に取って代わられるのでしょうか?
それとも、特に変化なく、現状のままOfficeの次期バージョンにも搭載され続けていくのでしょうか。

VBAの今後についてご存知の方、またはこれに関する記事のURLをご存知の方、ご回答よろしくお願いします。

A 回答 (2件)

こんにちは。



「これに関する記事」ということで、直接ではないのですが、"Changes in Excel 2007"という記事を、Microsoft のWebサイトで読んだことがあります。その時の、いわゆる、Office モニターとMicrosoft の開発部の攻防を読み取ることができます。Office モニターというのは、おそらく、かなりの猛者というか、プロで、どうも、一般ユーザーにそのままプログラミングを解放するのは、面白くないような雰囲気なのです。モニターというのは、多くは、いわゆる、MVPと言われる人たちだと思います。

今までの展開からしても、VBAに対して、ある意味、無意味なセキュリティを加えてきたのは事実です。その反面、今まで、COMアドインは野放しだったわけです。(たとえば、Google Desktop などは、何度、アドインを切っても、再び復活しています。ある意味、スパイウェア行為です。)これは、Wordに対しては、Excelよりも、二重のセキュリティがしてありますが、反面、利用者にとっての安全性はあまりありません。実際のセキュリティは、セキュリティソフトでないと守れないのです。

もうひとつは、.Net FrameWork の問題があります。これを有効利用していくということは、VBAでは役不足です。VBAの元のVB6 は、もう過去のものになってしまいました。次のバージョンには、C#とVB.Net つまり、VSTA (Visual Studio Tools for Application) が搭載されるとは言われています。しかし、C# にしろ、VB.Net にしろ、VBAユーザーが簡単に切り替えが利くかというと、一般のVBAユーザーには、手が付けなれないような気がします。VB.Net は、一見、VBAに似ているけれども、まったく違うものだということです。

次期バージョンにも、現状のVBAは搭載されるとは思います。「MSはユーザーを裏切る」という格言に近い言葉はありますが、それほど、大掛かりな変更をするということは、今の現状からすると広範囲のユーザーを失う危険性が高くなってきているからだと思います。だいぶ、MS-Office の批判は自国・米国の中でも高くなっているようにも思います。もちろん、直接には、MS-Office に関わる、多岐にわたる違法行為からが原因です。

最終的には、MS-Office に関しては、VBAを含め世界的に衰退すると私は考えています。ただ、表計算にしろ、ワープロソフトにしろ、Microsoft 社のみがすべてではありません。VBAも同じです。ただ、最後は、また、熱烈なMicrosoft 信者のいる、日本人ユーザーだけが使い続けることにならないとも限りませんが。反Microsoft 陣営の活動が活発になってきましたし、Microsoft 社自身が、墓穴を掘ることになりかねない状況だと思います。

本質的には、国自体が、このような市場原理主義を許していることが問題なのですが、さしあたっての問題は、Microsoft 社のMS-Office の販売のターゲットは、やはり、先進国の大企業のユーザーを対象にしているからだと思うのです。しかし、今回、総務省の今年(2007.7)の「政府調達のMS-Excelの新規購入しない」という発表は、省庁内でどういう状況から起きたかは分かりませんが、自治体や公共団体では、さすがに、Microsoft 製品のバージョンアップには、ついていけなくなっているような気がします。この発表で、Microsoft社からクレームが付いて弁明はしたものの、その方向性は変わらないと思います。

"Changes in Excel 2007"

参考URL:http://technet2.microsoft.com/Office/en-us/libra …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

とりあえず今は、VBAの今後についていろいろ情報収集をしている段階です。
VBAをいまだに愛用する開発者仲間を、今後引き続きVBAを極めさせるか、それとも.NETに移行させるかを検討している段階です。


以下、回答を読んでの私見について、述べさせていただきます。

個人的に、VBAはいずれ衰退すると考えていますが、なんとなくの考えであり、明確な根拠といえるものはないです。ただ、VB6がしぶしぶVistaでもサポートされているかのような印象があるので、VB6のサポートが終われば、同時にVBAのサポートも終わりに向かうのではないかと考えています。

VBAと同等のことは、.NETでもできるようです(詳しく突っ込んで調べてませんが・・)
ただ、ちょっとめんどくさそうです。
Officeのインストールオプションでも.NETサポートうんぬんという項目があります。
マイクロソフトは時機を見て、VBAを廃止して.NETに移行するということもありえるように思います。

VBAの核をなすのは、COMコンポーネントだったと思います。
アプリケーションが、COMコンポーネントから.NETへ以降していく動きがWindows開発の世界で少しずつ広がりを見せています。これにともない、現行のVBAは衰退し、.NETへ代わっていくこともありえそうです。


引き続き、関連する情報を探していますので、よろしくお願いします。
特に、マイクロソフト側のコメントなどがあるとうれしいです。

お礼日時:2007/10/31 15:17

こんにちは。



#1の回答者です。

>引き続き、関連する情報を探していますので、よろしくお願いします。
>特に、マイクロソフト側のコメントなどがあるとうれしいです。

今、調べてみました。米国雑誌のほうを検索していたら、まさか、MS側にあるとは思わなかったのですが、私も、ぜんぜん、知らなかったです。もう現実の問題だったわけですね。以下のURLをお読みください。

ただ、細かい部分で、VBAでしてきたことを、今の段階では、絶対に、サポートできていないはずです。いえ、"Changes in Excel 2007" にあったと思いますが、Ver.4 マクロ関数の問題も解決していないはずです。つまり、私が指摘したいのは、記録マクロで、Ver.4 マクロ関数がなければ、サポートできないという現実が存在している、ということです。記録マクロをなくせば、一般ユーザーのプログラミングとしての利便性は、極端に下がってしまいます。それとも、プログラミングを独立させるのかということです。

米国の雑誌では、反MS連合(Non-MS)は、VBAは、サポートする予定はないと書かれているし、以下のMSの発表では、自分たちはVBAをもうやらないと言っているのですが、私などは、もう、この手の話には巻き込まれたくない、というのが正直なところです。Windowsさえ興味がなかった私ですからね。

再度、「MSはユーザーを裏切る」という格言に近い言葉は忘れてはならないと思います。
なんといっても、WinのExcelの誕生時には、自社の旧製品ユーザーを切り捨てたし、Ver.4関数型マクロは、ほんの短い間でしたからね。Win 3.1~ 95(Excel Ver.4, 5) の間だけです。私個人は、まったく、この世界には関係のない人間ですが、ただ、今の現状を深入りすると、怪我も大きくなるような気がします。広く浅くがよいのではないでしょうか?

-------------------------------------------------

数行を抜き出してみました。

#VBAランセンシング・プログラムの継続中止

# 弊社では、アプリケーション・プログラマビリティ・テクノロジー(プログラムの可能性の技術)の要求を満たす新しいアプリケーションである、VSTAをお考えになることをお勧めしております。」

# 2007年を7月1日を以て、マイクロソフトは、新規の顧客には、VBA配布ライセンスの申し込みを受けません。

参考URL:http://msdn2.microsoft.com/en-us/isv/bb190538.aspx
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!