![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
その必要性は感じないので、なくならないと思います。
理由:
1.競合他社の製品より優位である
Excelと競合する製品のなかには、マクロが使えるものもすくなく、そして、使いずらくいから、VBAに勝てるものは存在しません。
2.VBAのたちいち
あくまでも、Excelの自動化が目的なので、今のVBAだけでも十分、その役割を果たせてます。.NET化にしなくても、MSが推進している.NET戦略にはなんの影響もないです。
3.VBAから.NETの機能を使うことができる
VBAは、Win32 APIだけではなく、.NETの機能も使えます。
なるほどですね。 確かに現状Office系アプリではVBAに勝てるものはなさそうです。
また、VBAは.NETの機能も使えるのですね。
勉強になりました。
教えていただきありがとうございました。
No.5
- 回答日時:
AutoCADのVBAがいち早く.net化して(拙速で)失速していく様をマイクロソフトも見ています。
同時期のOfficeの2010版が出るときに一番その可能性は高かったかと思いますが、今更なのでもうその可能性は極めて少なくなってきたかと考えます。それもこれも、No.3の方が理由の2番目で述べられているように、一般のユーザーは「あくまでも、Excelの自動化が目的なので、今のVBAだけでも十分」なわけですし、もし.NET化してしまったら著しく一般ユーザーが離れていく危険性が高いからというのが最大の理由です。
No.4
- 回答日時:
私は、事実上、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 はもうたくさんだという不買運動が起きても不思議はないのですが。
興味深い回答有り難うございます。
お話からして、私と同じくらいの世代のように感じます。そして、本音を申しますと同感です。世代も同じようです。(^^)
リボンの操作性の低さ、直感的さが失われているようにも感じます。これは本当に嫌なインターフェイスです。
EUCを推進する上でVBAはとても便利な言語でしたが、ユーザのテスト及び考慮不足などで、バグ付きを作られても困ったもんです。
不買運動といえば、私は個人的にはOffice365Soloを使っていますが、徐々にG Suiteへ移行中ですが、会社はMS製を使わざるを得ない状況があるため、今色んな角度から選択肢を増やすために切り崩しに掛かっています。官公庁も絡むため一筋縄では行かなく悩みの種です。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?5a7ff87)
No.2
- 回答日時:
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は似て非なるものだということです。
なるほどですね。マクロとしてのVBAの役割、そして、VB5がベースなのですね。
.NETも良さそうですね。
教えていただきありがとうございました。
No.1
- 回答日時:
>>マイクロソフトが随分前から.NETを推進しているので、そのうちMS OfficeなどのVBAも.NETに完全に置き換える時が来ると思っているのですが、今後どの様になるかご存知ないですか?
VBAは、以前から.NETとは違う世界で活躍している言語だと思っています。
ですから、マイクロソフトとしても、それを使って開発している方たちにしても、「VBAを.NETに完全に置き換える」なんて要望は出てないと思いますが・・・。
>>VBAをVB.NETに変換したりできるツールなどあれば合わせてご教示いただけますと幸いです。
えーと、さしあたり、そういうことやる必要性は無いのでは?
皆様からの意見からすると確かに変換ということは現状必要ないと考えますが、なんと、Access2000+VBA+Excelで構成されたものがあり、これがちょっとした問題を抱えているために、もっと総合的に良い方向へ変更できればと考えています。
ご回答いただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) VBAで鬼車/鬼雲を使えるようになるコードが知りたい 3 2022/05/10 18:14
- Excel(エクセル) VBAにて読み込みが出来ない環境依存文字 ㉖ の文字コードを教えて下さい。 3 2022/07/27 08:42
- その他(Microsoft Office) Excel、PowerPoint、Word中級レベル 3 2023/06/20 18:09
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
ソース内の行末に\\
-
特定文字のある行の前に空白行...
-
TERA TERMを隠す方法
-
wordを起動した際に特定のペー...
-
アクセス マクロ クリップボ...
-
【EXCEL VBA】オートシェイプを...
-
ExcelVBA 図形をクリックした...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時、ユーザーフォー...
-
コマンドボタンに二回目のマク...
-
WORD テキストボックスを全ペ...
-
EXCELマクロでのThisisWor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報