- ベストアンサー
VBとVBA
エクセルのVBA最近勉強してます。 自動記録できたりして、意外にかんたんな面もあって楽しいです。そこで、質問です。 1 VBはVBAからくらべるとどのぐらいむずかしいでしょうか? 2 VBで録音再生できるソフトは作れますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
(1)VBAで出来ることをVBでやると、相当難しいか特に上級者でないと出来ないこともあリます。ですから出来ない・出来る分野の多少の量的・項目的比較で、難しいかそうでないかの判定はすべきとは思いません。 VBの文法を両方が使っているだけで、目指す方向が 違います。例えばエクセルに対し、VBAとしてコンパクトに1セット、オブジェクト、プロパティ、メッソドが揃っているところが、便利で、肝心です。 (2)学ぶべき分野はVBの方が範囲が広いので、全部征服するつもりなら多岐にわたると思います。 (3)VBで録音再生できるソフトは作れますか 作れるとしても、特に上級者でなら出来るとか、普通は お膳立て(例えばActiveXコントロールが出来ていて)がしてあって、手っ取り早い方を使うとかの 問題でしょう。「作れますか」と発想するより、「普通は作りますか」いう発想になると思います。VBでAPI関数を使ったりC++で組んだモジュールを混ぜて使ったり、特別の市販のコントロールを使ったりすると、VBとは何ぞやという思いになります。VBとはプログラムでできることのまとめ・骨格の表現の一方法に過ぎないでないかと思えてきますよ。
その他の回答 (3)
- rara_sun
- ベストアンサー率50% (271/539)
> 1 VBはVBAからくらべるとどのぐらいむずかしいでしょうか? VBAはVBの(完全ではないですが)サブセットと考えていただいて結構です。できることは、VBの方がVBAに比べて圧倒的に多いのですので、その分VBの方が難しいイです。逆にいうと、VBよりもVBAの方ができることが少ないので簡単です。できないものはできないので、それ以上、難しく悩む必要がないという意味です。だから、それだけ深く調べなくても、理解しなくても良い。 >2 VBで録音再生できるソフトは作れますか? 1の質問の次ぎに、こういう質問が来るのは、1の質問の意図はどこにあるのか、ちょっと素朴な疑問をもってしまいます。 強引に質問1に関連させると、VBAでは、VBに比べて、 実現するのが難しいかも(というか、できないに近い気がします)。 ということで、VBは?っという展開になって・・ 私のアドバイスとしては、DirectXを使って使ってみてはいかがでしょう。という回答になります。 マルチメディア系の洗礼(?)されたモジュールや サンプルが豊富にあるからです。もちろんVBのサンプルも。 DirectXのSDKをインストールすると、サンプルもインストールできます。さらにインターネット上に、DirectXを使ったプログラミングの解説サイトは沢山あります。 参考にするには良いのではないでしょうか?
- TTak
- ベストアンサー率52% (206/389)
1 基本的に変わりませんが、VBAはアプリケーション内の制御に特化したVBですので、アプリケーション内のオブジェクトだけを意識すれば済みますが、VBはウインドウズのすべてのオブジェクトを意識することになりますので、その数は膨大になります。また、APIなども使う機会が増えますので、ダイナミックリンクライブラリなどの参照も意識する必要が出てきますね。そういう意味では難しいかもしれません。 2 ゼロからVBで作るのは無理があるというか、効率的でないような気もします。録音再生用の(ActiveX)コントロールを探してくるか、APIを探すかになると思われます。
- happypoint
- ベストアンサー率36% (521/1422)
こんにちは。 1 VBがVBAよりむずかしい、というのはおかしいです。 VBはVBAをすべて含んでいるわけではありません。 しかし、互いにかなり共通点がありますので、 どちらかをある程度習得していれば、 もう一方の習得は、 何も知識のない人に比べて、スムーズにできると思います。 2 作ったことがないのでわかりません。 でも多分作れると思います。 録音再生するだけで良ければ。
補足
みなさん回答ありがとうございます。 directX APIを検索してみましたが、難しそうですね。