Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

VB.NET VBA

VBA・VB(VB.NET)・VBSの違いやそれぞれの特徴について

投稿日:2021年8月28日 更新日:

 

<目次>

(1) VBA・VB(VB.NET)・VBSの違いやそれぞれの特徴について
 (1-1) VBA
 (1-2) VB.NET
 (1-3) VBS
 (1-4) 三者の比較表

(1) VBA・VB(VB.NET)・VBSの違いやそれぞれの特徴について

本記事ではVBA・VB(VB.NET)・VBSの特徴や違いについてご紹介いたします。

(1-1) VBA

VBAはVisual Basic for Applicationsの略で、恐らく皆さまが一番馴染み深い、ExcelやWord上で動作する言語です。細かな違いはあれど、基本は後述のVisual Basicがベースとなっており、文法などが非常に似通っています。
 
特徴としては「インタープリタ型」の言語であり、単独で動作するスタンドアロンのアプリを作る事ができません(Officeソフトウェア上でないと使えない)。
 
またVBAのエディタはVBE(Visual Basic Editor)と呼ばれ、WordやExcelの「開発タブ」から開けるエディタです(Alt+F11でも開けます)。
 
(図111)

●VBAの特徴をまとめた表

(表)
  VBA
(Visual Basic for Applications)
実行ファイル(「.bat」「.exe」等)の生成 ×(不可)

⇒Word/ExcelといったOfficeソフトウェア上で動作します。Excelの場合は「.xlsm」、Wordの場合は「.docm」という拡張子でマクロ有効ブックが保存されます。

使用する代表的なエディタ ・VBE(Visual Basic Editor)
⇒WordやExcelの「開発タブ」から開けるエディタです(Alt+F11でも開けます)
主な用途/特徴 ・Word/ExcelといったOfficeソフトウェア上でのプログラミング
実行環境 ・VBランタイム
(※VBと同じ実行環境。但しVBAの場合はホストとなるアプリケーションが必要)
言語の形式 ・インタープリタ型

目次にもどる

(1-2) VB.NET

VB.NETはVisual Basic .NETの略で、「.NETフレームワーク」で実装されたVisual Basic 6.0の後継技術です(つまりVB.NETはVBの進化版のイメージ)。VBに比べて全般的に改良されています(パフォーマンス、信頼性、開発環境、ビルドやデバッグの容易性)。
 
前身のVB(Visual Basic)がインタープリタ型であるのに対して、VB.NETはコンパイル型となっており、他にも実行環境が異なっていたり(VBランタイム vs .NET CLR)、マルチスレッド実行が不可⇒可に改良されたといった違い目が多くあります。
 
VB.NETの特徴としては「コンパイル型」の言語のため、VBAのようなホストするOfficeアプリ等は不要で、単独でアプリとしてコンパイルして実行ファイル(.exe)を生成したり、DLL(拡張子.dllのライブラリ)を作ったりもできます。
 
加えて、VB.NETはオブジェクト指向言語であり、JavaやC#やC++と似た概念で開発できます。
 
VB.NETの代表的なエディタはVisual Studioになります。
(図121)

●VB.NETの特徴をまとめた表

(表)

  VB.NET
(Visual Basic .NET)
実行ファイル(「.bat」「.exe」等)の生成 ○(可)

⇒コンパイルして実行形式ファイルを生成可能(「.exe」など)

使用する代表的なエディタ ・Visual Studio
主な用途/特徴 ・スタンドアロンアプリケーション
(VBAのようなホストするOfficeアプリ等は不要で、単独でアプリとして実行できる)
・オブジェクト指向言語であり、JavaやC#やC++と似た概念で開発できる
実行環境 ・.NETフレームワークのCLR(Common Language Runtime)を使用
⇒VBランタイムの改良版

言語の形式 ・コンパイラ型
経緯 ・.NETフレームワークで実装されたVisual Basic 6.0の後継技術です。
・以降はVB.NETという名称になりました。
・VBに比べて全般的に優れている(パフォーマンス、信頼性、開発環境、ビルドやデバッグの容易性)

目次にもどる

(1-3) VBS

VBSはVisual Basic Scriptの略で、動的なWebページを生成する目的で作成された言語です。JavaScriptと同様に、クライアントサイドで動作するスクリプトで、VBの軽量版といったイメージです。文法もVBに非常に似ています。
 
特徴としては「インタープリタ型」の言語であり、単独で動作するスタンドアロンのアプリを作る事ができません。IIS(アプリケーションサーバ)やIE(ブラウザ)やWSH(Windows Script Host)といった、実行するための環境が必要となります。

●VBSの特徴をまとめた表

(表)
  VBS
(Visual Basic Script)
実行ファイル(「.bat」「.exe」等)の生成

⇒コンパイルは出来ませんが、VBSの拡張子である「.vbs」自体が実行可能なため「△」としています。

使用する代表的なエディタ ・VBEdit(有償)
・テキストエディタ(さくらエディタ、Notepad++など)
主な用途/特徴 ・Webページのプログラミング
実行環境 ・①WSH(Windows Script Host)
⇒Windows OSに標準で組み込まれた実行環境です。普段は意識しないかも知れませんが、WSHの働きでVBS等はダブルクリック時にスクリプトとして認識され、実行されます。

・②IIS
→Windows Serverで使用されるアプリケーションサーバ

・③IE(ブラウザ)

言語の形式 ・インタープリタ型
⇒ブラウザ実行の場合:vbscript.dll
⇒コマンドライン実行の場合:cscript.exe
⇒Windows OSで実行の場合:wscript.exe

目次にもどる

(1-4) 三者の比較表

違いが分かりやすいように、3種類の表を横に並べました。
 
(表)
  VBA
(Visual Basic for Applications)
VB.NET
(Visual Basic .NET)
VBS
(Visual Basic Script)
実行ファイル(「.bat」「.exe」等)の生成 ×(不可)

⇒Word/ExcelといったOfficeソフトウェア上で動作します。Excelの場合は「.xlsm」、Wordの場合は「.docm」という拡張子でマクロ有効ブックが保存されます。

○(可)

⇒コンパイルして実行形式ファイルを生成可能(「.exe」など)

⇒コンパイルは出来ませんが、VBSの拡張子である「.vbs」自体が実行可能なため「△」としています。

使用する代表的なエディタ ・VBE(Visual Basic Editor)
⇒WordやExcelの「開発タブ」から開けるエディタです(Alt+F11でも開けます)
・Visual Studio ・VBEdit(有償)
・テキストエディタ(さくらエディタ、Notepad++など)
主な用途/特徴 ・Word/ExcelといったOfficeソフトウェア上でのプログラミング ・スタンドアロンアプリケーション
(VBAのようなホストするOfficeアプリ等は不要で、単独でアプリとして実行できる)
・オブジェクト指向言語であり、JavaやC#やC++と似た概念で開発できる
・Webページのプログラミング
実行環境 ・VBランタイム
(※VBと同じ実行環境。但しVBAの場合はホストとなるアプリケーションが必要)
・.NETフレームワークのCLR(Common Language Runtime)を使用
⇒VBランタイムの改良版

・①WSH(Windows Script Host)
⇒Windows OSに標準で組み込まれた実行環境です。普段は意識しないかも知れませんが、WSHの働きでVBS等はダブルクリック時にスクリプトとして認識され、実行されます。

・②IIS
→Windows Serverで使用されるアプリケーションサーバ

・③IE(ブラウザ)

言語の形式 ・インタープリタ型 ・コンパイラ型 ・インタープリタ型
⇒ブラウザ実行の場合:vbscript.dll
⇒コマンドライン実行の場合:cscript.exe
⇒Windows OSで実行の場合:wscript.exe

 

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-VB.NET, VBA

執筆者:


  1. […] VBA/VB.NET/VBS の違いやそれぞれの特徴について | Rainbow Engine […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

VBAで「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が出た時の対処記録

  <目次> (1) VBAで「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が出た時の対処記録  (1-1) 発生状況・エラーメッセージ  (1-2 …

VBAでシート名をブックを手で開かずに取得してリネームする方法

<目次> (1) VBAでシート名をブックを手で開かずに取得してリネームする方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) 操作動画紹介・VBAダウンロード (1) VBAで …

VBAでファイルやフォルダの存在チェックを行う方法

<目次> (1) VBAでファイルやフォルダの存在チェックを行う方法  (1-1) 構文  (1-2) サンプルプログラム (1) VBAでファイルやフォルダの存在チェックを行う方法 (1-1) 構文 …

VB.NETでテキストファイルを読み込むサンプルコード

  <目次> (1) VB.NETでテキストファイルを読み込むサンプルコード  (1-1) 構文  (1-2) サンプルプログラム (1) VB.NETでテキストファイルを読み込むサンプルコ …

VBAで処理と処理の間に一定時間を空けて実行する方法

今回はVBAで処理と処理の間に一定時間を空けて実行する方法について、備忘も兼ねて記載します。 (0)目次&概説 (1) Application.wait (2) サンプルプログラムソース (3) サン …

  • English (United States)
  • 日本語
Top