• ベストアンサー

MicrosoftアプリケーションのVBAとVB

VBAはエクセル、ワード、アクセスにあるみたいですが(パワーポイントにはないんですか?)同じ処理をしているばあい、記述は同じなのでしょうか。VBも同じですか。エクセル、ワード、アクセスのVBAは処理の種類も違ってくるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • darksky
  • ベストアンサー率66% (38/57)
回答No.6

ANo.#3の補足へのコメントです。 >アプリケーションとVBAの位置付けが、いまいち分からないのですが >VBAは作成するとVBAの拡張子でできるわけですね。 VBAのコードは通常は文書ファイルに保存されます。あるExcelのシートでVBAを使って計算や他のアプリケーションとの連携とかの処理を記述した 場合は、その文書ファイル(******.xls)にVBAのコードが保存されます。Wordで作成すればdocという拡張子になります。 第三者へ配布する場合は、その文書ファイルを配布することになります。 その文書を参照するには、Excelがインストールされていることが必要になります。 VBを使用してプログラムを作成した場合は、最終的にコンパイルすることになり、生成されたファイルは単体の実行ファイルとなります。(通常は拡張子がexe) 極端な話になりますが、VBAはOfficeを用いた便利なツールを作り、VBは単体のアプリケーションを開発する時に使用すると考えてもいいと思います。 [ご参考] 拡張子を気にされているようですが、「Microsoft Windows スクリプト」というのもあります。 これはVBのサブセット言語であるVBSと呼ばれるもので、プログラムを記述したファイルを拡張子vbsで保存します。 vbsファイルは、スクリプトエンジンによって解釈され、実行されるものです。

konnyaku
質問者

お礼

とてつもなく幅の広いプログラム言語のようですね。(゜-゜)かじるだけならVBAでとどめておいた方が良さそうな…。それとも、まったく手を出さないか(~_~;)ホームページとVB、VBAは関係ないのでしょうか。手を出したいものがたくさんありますが、よしたほうがよさそう。ありがとうございました。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

エクセルVBA、ワードVBA、アクセスVBA等は全く別物と思います。各エクセルやワードやアクセスの(手)操作に対応するように、メソッドやプロパティやオブジェクトというものがありますが、共通操作はそんなに多くないので、共通するメソッドやプロパティやオブジェクトは多くないです。そのメソッドやプロパティやオブジェクトを覚えて、使わないとなりませんので、別物と思う覚悟が要ります。 同じ綴りであっても、同じかどうか勉強が必要です。 エクセルVBA、ワードVBA、アクセスVBA等は各々300-500ページの事典が出ていまして、数千のメソッドやプロパティやオブジェクトがあります。「基本は同じ」「骨格となる文法は同じ」なんて知っても、そう役に立ちません。そんなやわなもんやおまへんで。 ただ少しづつかじると、おぼろげながら、共通項は見えてくるかなとおもいます。 あとワードVBAだけは、歴史的発展のコースが違うのか、少し違う、ような気がします。 アクセスはSQLと言う他にない分野を含んでいます。

konnyaku
質問者

お礼

ビジュアル・ベーシックという割りに、易しくないんですね。(~_~;)ありがとうございました。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.4

Word97,Excel97,Access97,PowerPoint97,Outlook98にはVBAがあります。 それ以前は使ったことがありません。 VBAの基本文法は共通です。 しかし、アプリケーション(WordやAccess)の機能を呼び出す部分はアプリケーションに依存します。 VBはVBAの元になったプログラム言語で、アプリケーションに頼ることなく動作する独立したアプリケーションを作成することが出来ます。

konnyaku
質問者

お礼

VBとVBAは引数が違うという感じでしょうか。命令は同じコードなのでしょか。ありがとうございました。

  • darksky
  • ベストアンサー率66% (38/57)
回答No.3

かなり読みにくいコメントなので一部修正します。 オブジェクト(ワードやエクセル)を操作する場合、どのようなコードになるかは操作対象となるオブジェクトの仕様により異なります。 たとえば、文字列を選択してコピーする処理をワードの文書とエクセルのシートで実行したい場合、異なる操作を行う必要があります。 これはワードとエクセルが公開しているインターフェースやメソッドの仕様が異なるからです。

konnyaku
質問者

お礼

アプリケーションとVBAの位置付けが、いまいち分からないのですが、VBAは作成するとVBAの拡張子でできるわけですね。ワードやエクセルでVBAを作成して処理をするのはVBAですね。ワードでVBAを作成して、エクセルを処理するVBAもあるのでしょうか。(゜_゜>)ありがとうございました。

  • darksky
  • ベストアンサー率66% (38/57)
回答No.2

PowerPoint2000以上は間違いなくVBAをサポートしています。あまり古いやつは覚えていません。 VBAの言語仕様は、ワードやエクセル等で同じです。 VBとVBAは多少違うところもありますが、構文的には同じです。組み込み関数とか拡張部分が違う程度です。 エクセル、ワード、アクセスのVBAですが、すべてのアプリで共通にコードを共有したい場合はそれを意識して書けば問題ありません。 どのオブジェクトを操作するかは操作対象となるオブジェクトの仕様により異なります。 たとえば、文字列を選択してコピーする処理をワードの文書とエクセルのシートで実行したい場合、ことなる操作を行う必要があります。

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.1

>パワーポイントにはないんですか PowerPointにもあります。 Outlookにもあります。 (ただし2002で確認。古いバージョンにはないかも。) >同じ処理をしているばあい、記述は同じなのでしょうか 共通の部分も多いですが、違う部分もあります。 ですが基本的な考え方は一緒なので、 どれか知っていると、ほかのVBAを学習するときに、わりとすんなり入っていけます。

konnyaku
質問者

お礼

ご回答ありがとうございます。OutlookにもVBAがあるのですか。VBAでOutlookを動かすのでしょうか。VBAでメール書いたりできるのでしょうか(゜_゜>)ありがとうございました。

関連するQ&A

専門家に質問してみよう