- ベストアンサー
VBAでwindowsプログラミングは可能ですか?
VBAでwindowsプログラミングは可能ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 VBA何をするのか、目的にもよります。単独で動かすなら、VBScriptやPowerShell を使えばある程度のことは出来ます。VBAは、れっきとした、プログラミング言語で、コンパイルもしますが、ビルドできません。ウィキペディアのVBAの説明では、インタプリタ型と書いていますが、それは間違っています。簡単に分かるのは、実行時エラー以外に、文法的に間違えると、「コンパイルエラー」というメッセージで分かるとおりです。 「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。
その他の回答 (2)
「Windowsプログラミング」というのがどの程度のことを言っているのかわかりませんが、一応できると答えておきます。 VBAは、その名のとおり、VBをもとに作ってあります。ですので、VBでできることはだいたいできます。(ひょっとすると全部かもしれませんが、確認していませんので) ただ、VBと大きく違うのは、実行には母体となるアプリケーションが必要(起動している)であること、コンパイルして実行(EXE)ファイルにはできないことです。 これらのことから、VBAをプログラミング言語とは呼びにくくなっています。一般的にはマクロと呼ばれています。 しかし、たとえばワードの各ページに文章や絵を書いておき、それを入力に応じて切り替えて、アドベンチャーゲームを作るなど、場合によってはVBよりコンテンツを作りやすい面もあります。 母体となるアプリの機能を使える、これがVBAの強みでしょうか。
お礼
ありがとうございます。参考になりました。
- imogasi
- ベストアンサー率27% (4737/17069)
こんな大雑把な表現では、質問の回答が漠然とするのでは。 大きな質問の割りに、たいしたことを、当面したいわけではないのでは?。それなら具体的に質問を書いたら。 ウインドウズOSで動くソフト その他のOSで動くソフト ならVBAは前者でしょう。 VBAはMS社のオフィスソフトをVB式のコードで動かすもので、行を削除するとか、セルに色をつけるとか、それぞれのオフィスソフトに即した機能が簡単なコードの実行で出来るようになっている。各ソフトに密接に限定されたものが主です。そしてWindow画面関係タスク関係、メモリの関係等々などになるとやりにくくなる。APIなどに頼ることになりかねない。 しかしオブジェクト化されたもの(VBから実行できるもの)が用意されれば、ほぼ何でも動く。 APIと言うものもあり、またC言語で組んだものも、オブジェクト化してVBで実行できる。 それらは熟達者の話で、普通はエクセルとか、ワードで出来る操作などをコードで実行するのに使う。今質問者にとって熟達者の話をしてみても何にもならないだろう。もっと勉強が進めば、「出来るとは言うものの・・」と判ってくると思う。これ以外の立派な、回答を見ても気休めだろう。私でもロケットが作れますか、と聞くのと似てませんか。出来なくは無いが、その勉強やその機会を捉える途は遠い。
お礼
詳しいご説明ありがとうございます。
お礼
ありがとうございます。