- ベストアンサー
VBSとVBA
VBSとVBA VBSとVBAはどこが違いますか。エクセルのVBA勉強してみたいです。
- みんなの回答 (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で基礎力を付けてからですね。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
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/ ほか そしてこのコーナーでは、もっと具体的な問題に至ったとき、その質問を しましょう。 この質問コーナーは、本にはズバリ書いてない内容の、そういう場合に生きてくるはずです。
- hana-hana3
- ベストアンサー率31% (4940/15541)
VBAは、ベースになるアプリケーション(excel/word等)に関連する命令が拡張されています。 エクセルの場合だと、セルやワークシート・ブックに関連する部分が拡張強化された命令が追加されています。 VBSはVBの基本機能を残しただけと思えば良いかも。 いずれもexeファイルを作成する機能はありません。
- PLE-TWO
- ベストアンサー率60% (18/30)
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 の関数を勉強されることをオススメします。
お礼
みなさんありがとうございました。