• ベストアンサー

VBSとVBA

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

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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/ee817145.aspx

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

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)
回答No.2

VBAは、ベースになるアプリケーション(excel/word等)に関連する命令が拡張されています。 エクセルの場合だと、セルやワークシート・ブックに関連する部分が拡張強化された命令が追加されています。 VBSはVBの基本機能を残しただけと思えば良いかも。 いずれもexeファイルを作成する機能はありません。

  • PLE-TWO
  • ベストアンサー率60% (18/30)
回答No.1

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 の関数を勉強されることをオススメします。    

saori222
質問者

お礼

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

関連するQ&A

  • VBAとVBSの違いについて!?

    VBAとVBSの違いはなんですか? VBSの初心者本が売っていないので代わりに VBAの初心者本を購入して勉強しようかと考えているのですが、 無駄でしょうか?

  • VBAとVBSの違いは?

    「VBSでできなくてVBAではできることがあるが VBAでできなくてVBSでできることはない。」 という認識であってますか? よろしくお願いいたします。

  • VBAとVBSどちらがいいでしょうか?

    いまから覚えるとしたら、VBAとVBSどちらがいいでしょうか? VBAの方ができることが多そうですが、 必ずしもパソコンのオフィスが入ってるとは限らないし (キングソフトのオフィスなどもあり得るし) 必ずしもオフィスの捜査をしたいとも限りません。 (フォルダ操作やIE操作をしたい場合もある) このような条件の場合、どちらを学んだ方がいいのでしょうか? 正直どちらも多少はできるのですが、 これからどちらを一生懸命勉強して覚えたほうがいいのか教えてください。

  • VBSについて教えてください。

    VBSを勉強したくて http://www.whitire.com/vbs/tips0001.html のサンプルコードを見たのですが Option Explicit WScript.Echo "Hello VBScript World" はどこに張り付ければいいのでしょうか? エクセルVBAの標準モジュールに Sub test() WScript.Echo "Hello VBScript World" End Sub として実行してみましたが WScriptの部分がコンパイルエラーになってしまいました。

  • VBSを学ぶ前に、、、

    VBSを勉強しようと思っています。 VBAの知識は多少ありますがVBSについては無知です。 VBSを眺めてみたらHTMLみたいなのですが VBSの前にHTMLの知識を身につけた方がいいのでしょうか?

  • VBSだけタスクバーで別に表示される

    現在エクセルと、VBAとVBSを起動させています。 タスクバーにはエクセルとVBAは重なって表示されますがVBSだけ独立してタスクバーに表示されます。 「ウィンドウをタスクバーに表示」にしても変わりません。 どういうことでしょうか? VBSは別物という認識でしょうか?

  • VB、VBS、VBAについて

    全くの素人です。 VB、VBS、VBAについて素人にも分かるように簡単に教えて下さい。 また、これらはプログラマーにとって大事なスキルの一つでしょうか? 我侭な質問で申し分けないですが、宜しくお願い致します。

  • VBS=簡易プログラミング言語=簡単?

    VBAは多少わかるのですが、VBSはよくわからないため勉強したいのですが、 VBSと言うのは、スクリプト言語と言うものですよね。 スクリプト言語=簡易プログラミング言語との事なので、 VBなどに比べると、VBSは簡単なのでしょうか?

  • VBSかVBAでIE操作をする場合、どちらの方が向

    VBSかVBAでIE操作をする場合、どちらの方が向いてるのでしょうか? 現在VBAでie操作をしていますが、 この記事 http://okwave.jp/qa/q7903584.html を見ると、VBAからVBSに書き換えたほうがいいのかな? なんて思ってきました。 IE操作においてVBAより」VBSの方ができることが多いか教えてください。

  • VBSとエクセルVBAの連携

    一定の処理を自動化したいと考えております 以下が現在の構成 main.vbs       メインの処理を実行 Master.xls (Macro1) マクロを記述してあるエクセル A.xls マクロを実行したいエクセル 現状はmain.vbsの処理を終了後に手動でアクティブウィンドウをA.xlsにしてMacro1を実行しています。 (エクセルファイルは両方開きっぱなしです) これをmain.vbsの処理の中に組み込み main.vbsの処理終了後に自動的に実行するようにしたいと考えています。 1.既に開いてあるエクセルファイルをアクティブにする処理が分かりません。 2.アクティブなエクセルファイルから別のエクセルファイルのマクロを実行する方法がわかりません。 初心者の質問で理解に苦しむかと思われますがご教授よろしくお願いいたします。

専門家に質問してみよう