• ベストアンサー

VBのアプリケーションって...

時々、ちょっとしたプログラムをテキストで作って、拡張子を.vbsに変更して、実行させたりしてます。 VisualBasicって、色んなバージョンのアプリケーションがありますが、私がよくするこの方法で作ったものと、コーディングの中身とか、その他どう違いが出てくるんでしょう? ちなみに私はAccessVBAが得意な、駆け出しのPGなんで、プログラムの中身をコーディングする事以外は、ドシロート程度の知識しか無いんで、どなたか教えて下さい!

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

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.2

確かにVBには、兄弟が多くてそれぞれ住み分けが微妙なんですよね。 大元に近い順に、こんな感じかと。 VisualBasic>VisualBasic For Application(VBA)>Visual Basic ScriptingEdition(VBS) 文法的には、ほぼ同じ。 VBSには、変数に型が無いってところが大きな違いですかね。 機能的には、それぞれ微妙に出来る事できない事あるわけですけど。 しかし、一番大きな違いは、実行環境では無いでしょうか。 コンパイルして作ったVBアプリは、(新しい.NETのフレームワークで無ければ)動かすのにランタイムが必要です。 VBAはOffice等のアプリケーションへの実装なので、当然そのアプリ自体が必要です。 VBSは、IE、ASP、WSHなどの実行プラットフォーム+スクリプトエンジンがインストールされている必要があります。 現在、最新のVBスクリプトエンジンは、5.6ですね。 コーディングの基本的な部分は、さほど違いは無いのではと思いますが、そもそも用途が異なるため、その前段階でのアプリケーションデザインとも言うべき部分がかなり変わってきます。 例えば、独自の入力フォームが必要なアプリをWSH+VBSで組もうとするのは、ありていに言って無茶でしょうが、VBで作れば容易いでしょうし、AccessやExcel+VBAという選択肢でも、入力する内容によっては現実的な解でしょう。 また単純に、ちょっとしたテキスト処理をしたいが為にVBやVBAを持ってくるのは、ちょっと重装備かなと言う気がします。この場合はWSHがよさそうですよね。 それぞれ一長一短あると思うので、場面をわきまえて使い分ける事になるのでは無いでしょうか。

Kalen_F
質問者

補足

詳しいご返答、有難うございます! あのぅ~、ちなみに、WSHってどういうものなんでしょう? 以前に仕事でASPは日々関わってきて理解出来ているんですが。。。アスキーデジタル辞典で調べたんですが分からなかったんで、教えて頂けませんでしょうか?(^^ゞ それと別件になるんですが、言語がCでのプログラミングを勉強していこうと考えているんですが、何かオススメのサイトをご存知ないでしょうか?

その他の回答 (2)

  • you-m
  • ベストアンサー率58% (190/327)
回答No.3

Kalen_Fさん曰く、 >時々、ちょっとしたプログラムをテキストで作って、拡張子を.vbsに変更して、実行させたりしてます。 これが、まさにWSH上で実行されています。 WSHの最初のバージョンはIIS4と共にインストールされたか、Win98に標準搭載されたものだったと思います。 単純に言えば、スクリプトを実行するためのコンテナと言った所でしょうか。 IE上でのVBSは基本はWebページ上での動作です。 ASP上でのVBSは、サーバサイドスクリプトです。 これに対して、WSHはOS上のバッチ処理の強化というのが最大の目的として世に出ました。 従来のWin上での標準のバッチ処理は、シェルにCOMMAND.COMやCMD.EXEを用いたバッチファイルでしたが、機能が貧弱なうえに、柔軟性にもかけるため、あまり高度な処理はできませんでした。 CMD.EXEベースのスクリプトは、それなりに多機能ではありましたが、文法が非常に変則的であるため、使いこなすにはこの特殊な文法になれる必要がありました。 しかし、WSHを用いる事によってVBS・JS使いならば極めて簡単に複雑なバッチ処理を記述できるようになりました。 また、スクリプトエンジンさえ用意すれば、ASP等と同様、Perlスクリプト等も使用することが出来ます。 また、COMサーバを呼び出す事も可能であるため、様々な拡張性が見込めます。 実際、ログオンスクリプト等に応用すると極めて柔軟で保守性の高いスクリプトを作成することができます。 別途アプリケーションをインストールすることなく、ほぼ標準の環境でこういったスクリプトを作成・実行する事ができるようになったため、UNIXのシェルスクリプト並に強力なバッチ処理が、簡単に記述できるというのがWSHの売りです。 WSHが使えるようになったおかげで、それまでPerlをインストールして書いていたこまごまとしたテキスト処理用のスクリプト等は、Perl無しでもかけるようになりましたし、システム管理用に設定変更用のスクリプト等も、実行環境に必要な物が特殊でなくなったため、簡単に配布できるようになりました。 逆に、これは一歩間違えるとすぐセキュリティホールになりうるという弱点も抱えてしまったのですが・・・。 とまあ、こんな感じで分かっていただけたでしょうか。

Kalen_F
質問者

お礼

お礼が遅くなってしまって、スミマセン! とても分かりやすい説明有難う御座います。 もっと知識を磨いて、早く一人前のフリーのPGとしてバリバリ仕事出来るように、頑張っていきます(^^)

  • qwedesu
  • ベストアンサー率31% (6/19)
回答No.1

コーディングシーケンスはまったく同じです。 開発ツールが違うとか、使える部品とか、 移植等のコンパイルとかですかね~

Kalen_F
質問者

お礼

ご返答、有難う御座います。

関連するQ&A