dポイントプレゼントキャンペーン実施中!

マイクロソフトが随分前から.NETを推進しているので、そのうちMS OfficeなどのVBAも.NETに完全に置き換える時が来ると思っているのですが、今後どの様になるかご存知ないですか?

私は会社の業務で、VBAをあまり使って欲しくなく、かといえ簡単なプログラミング言語でありMS Officeを使う以上便利であるということは感じています。

VBAをVB.NETに変換したりできるツールなどあれば合わせてご教示いただけますと幸いです。

A 回答 (5件)

その必要性は感じないので、なくならないと思います。


理由:
1.競合他社の製品より優位である
  Excelと競合する製品のなかには、マクロが使えるものもすくなく、そして、使いずらくいから、VBAに勝てるものは存在しません。

2.VBAのたちいち
 あくまでも、Excelの自動化が目的なので、今のVBAだけでも十分、その役割を果たせてます。.NET化にしなくても、MSが推進している.NET戦略にはなんの影響もないです。

3.VBAから.NETの機能を使うことができる
 VBAは、Win32 APIだけではなく、.NETの機能も使えます。
    • good
    • 3
この回答へのお礼

なるほどですね。 確かに現状Office系アプリではVBAに勝てるものはなさそうです。

また、VBAは.NETの機能も使えるのですね。

勉強になりました。

教えていただきありがとうございました。

お礼日時:2017/11/21 23:02

AutoCADのVBAがいち早く.net化して(拙速で)失速していく様をマイクロソフトも見ています。

同時期のOfficeの2010版が出るときに一番その可能性は高かったかと思いますが、今更なのでもうその可能性は極めて少なくなってきたかと考えます。

それもこれも、No.3の方が理由の2番目で述べられているように、一般のユーザーは「あくまでも、Excelの自動化が目的なので、今のVBAだけでも十分」なわけですし、もし.NET化してしまったら著しく一般ユーザーが離れていく危険性が高いからというのが最大の理由です。
    • good
    • 0
この回答へのお礼

教えていただきありがとうございます。 ユーザは「自動化」が焦点なのですね。

お礼日時:2017/11/18 07:58

私は、事実上、VBAは、なくなると考えています。



かつて、マイクロソフトの開発チームで、VBAをなくしてしまうという発表が社員のブログで流れましたが、そのチームリーダーが10年ぐらいはまだ残します、という新たに発表をしました。
それが、2008年のことです。(betanews より)

https://betanews.com/2008/01/23/next-microsoft-o …

なぜ、VBAがなくならなかったかというと、ユーザーの猛反対がこの時にあったからです。しかし、Microsoft 自身なのか、そのMonitor連なのかははっきりしませんが、やめたがっているのは間違いないようです。

理由は、
>会社の業務で、VBAをあまり使って欲しくなく
と同じように、素人ユーザーがつまらないバグ付きマクロを開発してほしくないというそうです。

>マイクロソフトが随分前から.NETを推進しているので、そのうちMS OfficeなどのVBAも.NETに完全に置き換える時が来ると思っているのですが、今後どの様になるかご存知ないですか?

最終的には、Ver.4 マクロ関数と同じ扱いになるのかもしれません。
PowerPoint のVBAが、典型的です。記録マクロをなくす、とか利便性を落としていく方向です。今、VBA はHelp がほとんどないに等しいわけです。たぶん、このように、外堀、内堀をなくしていくという方向にあると思います。今後、VBAの切り離しをオプション形式に可能になるのと、.NetによるCOMアドインが普及してきます。

今、VSTO (Visual Studio Tools for Office)が無償で供給されていますから、腕に覚えのある人は、興味を抱かずにはいられないでしょう。このようにして、ユーザー自身が、VBA離れを起こすような方法で、移行が進んでいくと思います。

なお、今までのMicrosoft の歴史で、ユーザーを裏切らなかったことがあるでしょうか。
リボンスタイルのメニューは、未だに良いとは思えません。日本でも反対が多かったようですが、アメリカは7~8割のユーザーが反対していました。それでも、敢行したのは、新しいユーザーが抵抗なければ、それで良いのだそうです。つまり、同じように考えると、VBAにしがみついている人は、旧世代として切り捨てられる可能性が高いと思うのです。

言語の VB6から、.Net でも、同様でした。ついて来られる者のみが、それを使うことが可能だとしています。MS-DOSからWindowsに切り替える時に、Excelは、他社製のLotus1-2-3からの移行で、自社のものからではありませんでした。Excel Ver.4スタイルは、その前が長かったと言っても、日本では、突然出てきたに等しいし、Ver.4 やマクロを覚えようとしたら、Ver.5 は、VB5を基盤とした、まったく仕組みそのものの違うスタイルのものが出てしまいました。

でも、Microsoft の日本への冷遇は、あまりにもひどすぎるわけで、日本でMicrosoft Office はもうたくさんだという不買運動が起きても不思議はないのですが。
    • good
    • 0
この回答へのお礼

興味深い回答有り難うございます。

お話からして、私と同じくらいの世代のように感じます。そして、本音を申しますと同感です。世代も同じようです。(^^)
リボンの操作性の低さ、直感的さが失われているようにも感じます。これは本当に嫌なインターフェイスです。
EUCを推進する上でVBAはとても便利な言語でしたが、ユーザのテスト及び考慮不足などで、バグ付きを作られても困ったもんです。

不買運動といえば、私は個人的にはOffice365Soloを使っていますが、徐々にG Suiteへ移行中ですが、会社はMS製を使わざるを得ない状況があるため、今色んな角度から選択肢を増やすために切り崩しに掛かっています。官公庁も絡むため一筋縄では行かなく悩みの種です。

お礼日時:2017/11/21 23:00

VBAに.NETの言語仕様が導入されることは、可能性としてはあると思っています。

ただそれでもVBAはしょせんマクロですから、これでデスクトップアプリを開発するぞってことではありません。あくまでも言語仕様のみを導入するということです。

今のVBAはVB5ベースであり、言語構造はもうずいぶん古びています。Integer型が2バイトだなんて16ビットCPUの頃の思想だからWindows3.xの時代、もう30年近く前のもの。どんだけ引っ張るんだよって感じです。

もっと言うと、.NETはVB以外の言語もあるわけなので、マクロがC#でも書けますということになれば、大喜びする人は大勢いると思いますよ。

ちなみにVBAからVB.NET変換は、類似品として.NETじゃないVBからVB.NETに変換するコンバータがVB2008まで装備されていました。が、ほぼ使い物になりませんでした。みんな喜んで試した結果、元のソースを見て.NETで書き直す方が速い…という結論に至ってしまうという。それくらいに、古いVBとVB.NETは似て非なるものだということです。
    • good
    • 0
この回答へのお礼

なるほどですね。マクロとしてのVBAの役割、そして、VB5がベースなのですね。

.NETも良さそうですね。

教えていただきありがとうございました。

お礼日時:2017/11/21 23:09

>>マイクロソフトが随分前から.NETを推進しているので、そのうちMS OfficeなどのVBAも.NETに完全に置き換える時が来ると思っているのですが、今後どの様になるかご存知ないですか?



VBAは、以前から.NETとは違う世界で活躍している言語だと思っています。
ですから、マイクロソフトとしても、それを使って開発している方たちにしても、「VBAを.NETに完全に置き換える」なんて要望は出てないと思いますが・・・。

>>VBAをVB.NETに変換したりできるツールなどあれば合わせてご教示いただけますと幸いです。

えーと、さしあたり、そういうことやる必要性は無いのでは?
    • good
    • 0
この回答へのお礼

皆様からの意見からすると確かに変換ということは現状必要ないと考えますが、なんと、Access2000+VBA+Excelで構成されたものがあり、これがちょっとした問題を抱えているために、もっと総合的に良い方向へ変更できればと考えています。 

ご回答いただきありがとうございました。

お礼日時:2017/11/21 23:13

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