dポイントプレゼントキャンペーン実施中!

VBSとVBA


VBSとVBAはどこが違いますか。エクセルのVBA勉強してみたいです。

A 回答 (4件)

だいたいお話は出ているようですが、位置関係が逆です。

VBAが書けても、VBS は書けません。ちょっとした実験コードはともかく、実際には思ったようには書けません。VBSとは、Visual Basic Script のことです。WSHは、このVBScript と、JavaScriptを合わせたもので、表現力は、JavaScriptのほうが上かもしれません。HTMLと組み合わせ、単独のアプリケーションも作成することが可能です。

VBAは、MS-Officeに備え付けられたもので、VBEditor 上でコーディングするものですが、自動的にスペルチェックや構文チェックするので、とっても便利です。そこにいくと、VBSciptは、自動メンバーの出るようなエディタは少ないし、構文自動チェックしてくれるわけではありません。それに、タイプライブラリの呼び出しも簡単には出来ません。

Micorosoft の「Hey, Scripting Guy!」(参照URL)を読んでみるとよいですね。
一番下の 2006/1 からです。最初に、「テキスト ファイルのすべての空白行を削除する方法はありますか?」というスタートからでは、VBSは手が出ない人も多いと思います。Win XPになって、VBScript のステータスが変わりました。WMI(Microsoft Windows Management Instrumentation)が入ってきたからです。

もっと基礎からなら、「Windows Script Host Laboratory」の牟田口さんのサイトを見てみるとよいです。http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/

そもそも、MSの中でもこのScripting の方向性というのは、独自路線のようですね。これが、Vista で使い勝手が悪くなってしまい、暗号化が利かなくなってしまいました。その代わり、PowerShell が登場しました。かと思えば、子ども向けというSmaill Basicも登場しましたが、これが大化けするかもしれません。いずれにしても、一般の人は手が出ません。

だから、VBAで基礎力を付けてからですね。

参考URL:http://technet.microsoft.com/ja-jp/scriptcenter/ …
    • good
    • 1

VBAとは、VBAと一般に言うよりは、ExcelVBAのように、


Officeのアプリの名を前につけて言うべきものです。
ExcelVBAとは別にOUTLOOKVBAほかアプリごとに数個あります。
ExcelVBAについて言えば、Excelの関係の処理に特化して、
その処理をプログラムのコードを書き、実行で行えるよう、Excelの操作や設定を
コード(それもVB6の仕様)で記述し実行できるよう、メソッド・プロパティ
・その他などが多数設けられています。
VBSはファイルの処理などを中心として、Excelを使う場合に限らない
内容が主です。
VBSにある正規表現、ディクショナリはファイル処理からすると特殊です。
VBSのメソッドはExcelVBAの中でも使うことが出来るものも多く、
VBSからExcelVBAの世界の処理にも入れます。
似たような処理が出来るものが両者にあるものもあります。VBSとDOSコマンド
由来のExcelでのVBAの関数など。
文法の演算子・制御構文と関数的なものはVBSとVBAでVB6由来ほぼで共通です。
違いは処理の対象とする分野(目的・内容)・操作の違いです。
ーー
この質問のような、総論的な質問をここにする前に、VBSの本でも読んで
(やGoogleなどでVBSでWEB照会して)勉強しましょう。
記述内容もそちらの方が圧倒的に詳しいです。
VBScriptポケットリファレンス(技術評論社)
http://www.whitire.com/vbs/
ほか
そしてこのコーナーでは、もっと具体的な問題に至ったとき、その質問を
しましょう。
この質問コーナーは、本にはズバリ書いてない内容の、そういう場合に生きてくるはずです。
    • good
    • 0

VBAは、ベースになるアプリケーション(excel/word等)に関連する命令が拡張されています。


エクセルの場合だと、セルやワークシート・ブックに関連する部分が拡張強化された命令が追加されています。

VBSはVBの基本機能を残しただけと思えば良いかも。
いずれもexeファイルを作成する機能はありません。
    • good
    • 0

VBS というのは VBScript のことでしょうか?


VBS が VBScript として回答します。
 
VBA は、Visual Basic for Applications といって、MS Office で使用できる VB (Visual Basic) 言語です。
VBScript は、VB のサブセットのスクリプト言語で、MS Office に限らず、Windows のバッチファイルや IIS で動作するリッチクライアントを実装するための言語 (JavaScript と同じような感じ) です。
 
通常のプログラミング言語とスクリプト言語の違いがわかると、まさにその違いなのですが、誤解を恐れずに掻い摘むと、VBA は MS Office 専用のプログラミング言語で、VBScript は MS Office 以外でも使用できる簡易プログラミング言語 (スクリプト言語) です。
 
ご質問で Excel の勉強ということでしたが、たいていのことは Excel で用意されている関数を利用することで実現できます。
よほど凝ったことをマクロとして組む必要があるときに VBA を使用します。
が、マクロで書かれているものの大半は Excel の関数で実現できるもので、関数の使い方を知らないために、VBA を使用しているケースが大半です。
 
もし、よかったらまずは Excel の関数を勉強されることをオススメします。
 
 
    • good
    • 1
この回答へのお礼

みなさんありがとうございました。

お礼日時:2010/05/30 13:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!