- ベストアンサー
VBAの将来性について
いつもお世話になっております。 VBAのことを調べていたら以下のように書かれていました。 >近年マイクロソフト社はActiveX/Component Object Modelから.NET Frameworkへの転換を進めており >Visual Basic for Applications - Wikipedia >http://ja.wikipedia.org/wiki/VBA 調べてみるとVSTOという技術でのOffice開発があって、 それへの転換を進めているということなのだろうと推測しました。 そこで質問なのですが、VBAの技術は追加されていますか? Office2003と比較してOffice2007でこういう技術が追加されたという 情報がございましたら、教えて頂けませんか? マイクロソフト社としてはVBAにこれから力を入れていくものなんでしょうか? VBAがなくなるということはないと思うのですが、 技術の追加は主にVSTO側に行っているようであれば、 今後のOffice開発の方針を考えたいと思い、質問させて頂いております。 ぜひよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 まず、『ja.wikipedia.org/wiki/VBA』の内容はいつ書かれたものかは知りませんが、少なくとも、ここ数年に書かれたものではないようです。また、記述の間違いもいくつかあるようです。もし、読むなら、WikiPediaの英文側を読んでいただいたほうがよいです。 プログラミング側の一部の人々が推進していた、VBA --> VSTA(Visual Studio Tools For Application) への移行の発表は事実ですが、ユーザーからもの連日すごいクレームがついて、断念せざるを得なかったとも聞きますが、Office 開発チームでは、その移行の計画は、目下立っていないということです。VSTOは、Developer Version の後継ソフトの名前で、VSTOについては、値段が高すぎます。VS2008 Professional Version で済むような気がします。 ここのベータニューズは公式発表ですから、追って読めば、かなり具体的に様子がつかめるはずです。 http://www.betanews.com/article/Next-Microsoft-Office-will-continue-to-support-VBA/1201120613 Next Microsoft Office will continue to support VBA By Scott M. Fulton, III | Published January 23, 2008, 3:36 PM >調べてみるとVSTOという技術でのOffice開発があって、それへの転換を進めているということなのだろうと推測しました。 本来は、.Net FrameWork を利用するということだと思います。Office 2003 から、利用できるオプションがつきました。ただし、CreateObject で、.Net FrameWorkの一部を呼び出すことは、下位バージョンでも可能です。また、これらのマニュアル等が出ていないようですから、情報はネットに頼るしかありません。 We understand that VBA is a critical capability for large numbers of our customers;accordingly, there is no plan to remove VBA from future versions of Excel." 我々(開発チーム)は、VBAは、大多数の顧客にとって、重要な機能であることは理解している。したがって、Excelの将来のバーションにVBAをなくするという計画は立っていない。 http://blogs.msdn.com/vsto/archive/2008/01/16/the-reports-of-vba-s-demise-have-been-greatly-exaggerated.aspx The Reports of VBA's Demise Have Been Greatly Exaggerated Published 16 January 08 07:21 PM The report that the next generation of Office will not contain VBA is untrue -- the next generation of the Microsoft Office system will definitely contain all of the functionality that developers and power users expect from VBA. 次世代Office にVBAが含まないということはウソである。次世代Microsoft Office システムには、VBAの開発とパワーユーザーの期待しうる機能は、間違いなく含まれている。 ・Office2003と比較してOffice2007で追加された技術 Office Excel 2007 での変更点 http://technet.microsoft.com/ja-jp/library/cc179167.aspx 私自身が気になる点 :クエリ テーブル 説明 : クエリ テーブルは一覧機能と統合され、テーブルと呼ばれるようになりました。 変更の理由 : この変更により、機能が改善され、操作の一貫性が向上しています。 Office Word 2007 での変更点 http://technet.microsoft.com/ja-jp/library/cc179199.aspx 私は、Word VBA 2007をあまり使っていないので、あまり認識ありません。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 最初に、 >新しく学ぶのであればVSTOのほうが良さそうですね。 もしかしたら、誤解されているかもしれません。 VSTOというのは、ご存知だと思いますが、Developer 版の後継ソフトの名称です。だだ、現在はなくなり、VS2008 Professional版 に吸収されました。実売価で10万円、アップグレード版でも、60,000円ほどします。 http://itpro.nikkeibp.co.jp/article/NEWS/20071214/289513/ Office に組み込まれるものは、VSTAと言いますが、すでに一部のOffice 製品には組み込まれているはずです。具体的な言語は、VB.Net とか、C# になりますから、興味があるなら、Microsoft は、VS2008 の永久フリー版がありますから、それを試してみると良いです。 ただ、Excel・Word用に対応させるための、旧VSTO、現在のVS2008のProfessional版は、COMアドインを作るためのものです。Office に組み込まれたVSTA(Visual Studio Tools for Application) を使うということとは、まったく意味が違います。Excel用やWord用のVSTAは、現実にはまだありませんから、想像の範囲でしかありません。Class モジュールとGeneralモジュールがひと続きになって出てきますが、おそらく、私たち一般のプログラマでは、Class 側の中身をいじることはほとんどないはずです。 >>ExcelやAccess では、Excel 2007 では、記録マクロではおかしなコマンドが出てきます。 >新しいコマンドが用意されていないということでしょうか? Print コマンドに対しては、そんなことはないとは思いますが、一部については探してみましたが該当するコマンドがありません。おそらく、対応する開発が間に合わなかったような気がしてなりません。VBAを新しく使う人には、これには訳が分からないと思います。
お礼
>>新しく学ぶのであればVSTOのほうが良さそうですね。 >もしかしたら、誤解されているかもしれません。 誤解しておりました。 VBA⇒VSTOではなく、VBA⇒VSTAへ移行しそうだということなのですね。 ありがとうございます。 VSTOはVS2008Proを持っていますので、使っております。 リボンUIをカスタマイズしたりできるなと確認していますので、 こちらは大丈夫です。 >一部については探してみましたが該当するコマンドがありません。 そうなのですか。 今後VSTAになった際に搭載されるのかもしれませんね。 何度もご回答ありがとうございました。 大変参考になりました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 #1の回答者です。 >Office 2008 for MacではVBAがサポートされていなかったのですね。 >知りませんでしたので、勉強になりました。 Mac の次バージョンでは、復活します。ユーザーからクレームがついたからです。Mac BU(Macintosh Business Unit)自体にマクロが使えないわけではないのですが、下位バージョンとの互換性がないのです。顧客からのクレームが多かったそうですから、それが元で、Win版 Office のVBAをなくす計画も頓挫したのではないか、と思っています。ただ、VBAの基本的な資料(VB6を含む)が減ったり絶版になってきている以上は、衰退するのは目に見えています。もはや新しいユーザー側の発展性はないように思っています。かといって、そんなに乗り換えは容易ではありません。似ていて非なるものです。 ただ、Excelについては、旧版の遺産(俗にExcelレガシー)もあるでしょうから、それを捨てるようなことはしないでしょう。しかし、その時に、Microsoft Excel などが、他の製品に切り替えられる可能性はないとは言えません。 >VBAの機能が減らされているという記事を読んだ記憶 ExcelやAccess では、Excel 2007 では、記録マクロではおかしなコマンドが出てきます。 ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" Excel 2003 以下では、Excel4Macroコマンドは、グラフだけでした。 Word 2007 では、WordBasic.EquationEdit(これ自体は新しく組み込まれた機能) というコマンドですが、これは、両方とも、その呼び出し方法は古いコマンドだと思います。 他のPowerPoint には、Office 2003 から、今まで、Auto_Open などで使っていた設定を、Class モジュールに使わされることが出てきています。それは、ユーザー層の浅いところから手をつけるのではないかと思うのです。ただし、Outlook は、いろんな関係で、ほとんど変えないようです。 また、Office のExcelの全ユーザー率対するVBA のユーザー率は、一体どのぐらいでしょうか?ある程度の使いこなしが出来なければ、VBAユーザーとは言えませんから、そのようなユーザーは10%にも満たないと思うのです。パワーユーザーは、言語が変わっても追従していくでしょうけれども、ほとんどの人たちは切り捨てになるはずです。
お礼
ご回答ありがとうございます。 >Mac の次バージョンでは、復活します。ユーザーからクレームがついたからです。 やはりユーザーにとってVBAは大事な機能ですもんね。 参考になりました。 >ただ、VBAの基本的な資料(VB6を含む)が減ったり絶版になってきている以上は、衰退するのは目に見えています。 MSとしても積極的にサポートするつもりがないのかもしれませんね。 >かといって、そんなに乗り換えは容易ではありません。似ていて非なるものです。 こちらはVSTOのお話でしょうか? 私も実際にプログラムしながら調査していますが、 なかなか難しく感じております。 >ExcelやAccess では、Excel 2007 では、記録マクロではおかしなコマンドが出てきます。 新しいコマンドが用意されていないということでしょうか? >パワーユーザーは、言語が変わっても追従していくでしょうけれども、ほとんどの人たちは切り捨てになるはずです。 新しく学ぶのであればVSTOのほうが良さそうですね。 大変参考になりました。
- DreamyCat
- ベストアンサー率56% (295/524)
参考情報を。 Office2010(ベータ版)ですが ・ExcelのVBAは、2007版で無くなっていた図形のマクロ記録ができるようになりました。 ・PowerPoint2010は2007版と同じく、マクロの記録機能はありません。 ・Accessはマクロ、VBAともに有りますが、使い方そのものをよくわかっていないのでコメントはできません。
お礼
図形のマクロ記録ができるのは、とても助かりますね。 マクロ記録ができずに苦労しておりました。 VBAの機能は増えていないようなことを、 以前どこかで読んだ記憶があるのですが、それは間違いっぽいですね。 そうだと良いです。 とても参考になりました。
お礼
とても詳しいご説明ありがとうございました。 VBAはなくならないのですね。 英文も読んで理解しました。 Office 2008 for MacではVBAがサポートされていなかったのですね。 知りませんでしたので、勉強になりました。 どこかでVBAの機能が減らされているという記事を読んだ記憶がありまして、 今回の質問をさせていただいておりました。 その記事ではWindowsの話だったと思いますが、 周辺知識として勉強になりました。 ありがとうございました。