こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAでwindowsプログラミングは可能ですか?

VBAでwindowsプログラミングは可能ですか?

投稿日時 - 2009-06-28 20:30:54

QNo.5082165

困ってます

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

こんにちは。

VBA何をするのか、目的にもよります。単独で動かすなら、VBScriptやPowerShell を使えばある程度のことは出来ます。VBAは、れっきとした、プログラミング言語で、コンパイルもしますが、ビルドできません。ウィキペディアのVBAの説明では、インタプリタ型と書いていますが、それは間違っています。簡単に分かるのは、実行時エラー以外に、文法的に間違えると、「コンパイルエラー」というメッセージで分かるとおりです。

「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。

投稿日時 - 2009-06-29 10:32:46

お礼

ありがとうございます。

投稿日時 - 2009-07-03 23:26:03

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

「Windowsプログラミング」というのがどの程度のことを言っているのかわかりませんが、一応できると答えておきます。

VBAは、その名のとおり、VBをもとに作ってあります。ですので、VBでできることはだいたいできます。(ひょっとすると全部かもしれませんが、確認していませんので)

ただ、VBと大きく違うのは、実行には母体となるアプリケーションが必要(起動している)であること、コンパイルして実行(EXE)ファイルにはできないことです。

これらのことから、VBAをプログラミング言語とは呼びにくくなっています。一般的にはマクロと呼ばれています。

しかし、たとえばワードの各ページに文章や絵を書いておき、それを入力に応じて切り替えて、アドベンチャーゲームを作るなど、場合によってはVBよりコンテンツを作りやすい面もあります。

母体となるアプリの機能を使える、これがVBAの強みでしょうか。

投稿日時 - 2009-06-28 21:51:23

お礼

ありがとうございます。参考になりました。

投稿日時 - 2009-06-29 22:55:21

ANo.1

こんな大雑把な表現では、質問の回答が漠然とするのでは。
大きな質問の割りに、たいしたことを、当面したいわけではないのでは?。それなら具体的に質問を書いたら。
ウインドウズOSで動くソフト
その他のOSで動くソフト
ならVBAは前者でしょう。
VBAはMS社のオフィスソフトをVB式のコードで動かすもので、行を削除するとか、セルに色をつけるとか、それぞれのオフィスソフトに即した機能が簡単なコードの実行で出来るようになっている。各ソフトに密接に限定されたものが主です。そしてWindow画面関係タスク関係、メモリの関係等々などになるとやりにくくなる。APIなどに頼ることになりかねない。
しかしオブジェクト化されたもの(VBから実行できるもの)が用意されれば、ほぼ何でも動く。
APIと言うものもあり、またC言語で組んだものも、オブジェクト化してVBで実行できる。
それらは熟達者の話で、普通はエクセルとか、ワードで出来る操作などをコードで実行するのに使う。今質問者にとって熟達者の話をしてみても何にもならないだろう。もっと勉強が進めば、「出来るとは言うものの・・」と判ってくると思う。これ以外の立派な、回答を見ても気休めだろう。私でもロケットが作れますか、と聞くのと似てませんか。出来なくは無いが、その勉強やその機会を捉える途は遠い。

投稿日時 - 2009-06-28 21:34:23

お礼

詳しいご説明ありがとうございます。

投稿日時 - 2009-06-29 21:21:35

あなたにオススメの質問