Technology
Visual Basic系プログラミング(Visual Basic .NET/VBA/Visual Basic)
(Visual Basicけいプログラミング)
Visual Basic
Visual Basic系プログラミングとは、Microsoftが開発したVisual Basicの文法や開発環境を利用して、Windows用アプリケーションや業務支援ツールを作成することです。
代表的なものには、現在の.NET環境で利用されるVisual Basic、Microsoft Officeの自動化に利用されるVBA、旧来のWindowsアプリケーション開発に使用されたVisual Basic 6.0以前があります。
ハカルプラスでは、Windowsパソコンを利用した計測・制御システム、設備監視ソフトウェア、実績管理システム、Excelによる集計ツールなどの開発に、Visual Basic系言語を活用してきました。
Visual Basic系言語の種類
Visual Basic .NET
Visual Basic .NETは、Microsoftの.NET環境で動作するプログラミング言語です。現在は一般に「Visual Basic」と呼ばれます。
C#などと同じ.NETのライブラリや実行環境を利用でき、Windows用デスクトップアプリケーション、データベースシステム、通信ソフトウェアなどを開発できます。
ハカルプラスでは、旧Visual Basicで開発していたWindowsシステムについて、.NET環境への移行後はVisual Basic .NETを使用して開発・改修してきました。
VBA
VBAは「Visual Basic for Applications」の略で、Excel、Access、WordなどのMicrosoft Officeアプリケーションに組み込まれたプログラミング言語です。
ハカルプラスでは、主にExcelのマクロを作成する際に使用しています。
例えば、次のような処理を自動化できます。
- 計測データや製造実績の集計
- CSVファイルの読込み・変換
- 日報・月報・帳票の作成
- グラフの自動作成
- 複数ファイルの一括処理
- 入力内容のチェック
- 定型書式へのデータ転記
少量のデータ処理や、既存のExcel帳票を活用した業務改善に適しています。
旧Visual Basic
旧Visual Basicは、Visual Basic 1.0から6.0までのWindowsアプリケーション開発環境です。特にVisual Basic 6.0は、業務用ソフトウェアや設備監視システムで広く使用されました。
Visual Basic 6.0の開発環境は現在ではサポートが終了しており、新規システムで採用する言語ではありません。ただし、長期間使用されている産業設備では、Visual Basic 6.0で開発された既存ソフトウェアが稼働している場合があります。
Visual Basic .NETの主な特長
Windowsアプリケーションを開発しやすい
Visual Basic .NETは、ボタン、入力欄、一覧表、グラフなどを配置したWindows画面を構築できます。
Visual Studioの画面設計機能を利用し、設備監視画面、設定画面、実績検索画面、帳票出力画面などを作成できます。
データベースと連携できる
Microsoft SQL Server、Access、Oracleなどのデータベースへ接続し、計測値、製造実績、設定情報、警報履歴などを保存・検索できます。
データベースと組み合わせることで、期間や製品、ロット、設備などを条件にした実績検索や、日報・月報の作成が可能です。
計測機器やPLCと通信できる
Ethernet、TCP/IP、シリアル通信、各種通信ライブラリなどを利用し、PLC、計量コントローラ、計測器、バーコードリーダーなどと接続できます。
取得したデータを画面へ表示し、データベースへ保存したり、上位システムへ送信したりできます。
.NETの機能を利用できる
ファイル操作、ネットワーク通信、データベース接続、暗号化、画面表示など、.NETが備える多様な機能を利用できます。
C#で作成されたライブラリをVisual Basicから利用するなど、同じ.NET環境の言語や部品を組み合わせることも可能です。
計測・制御システムでの活用
Visual Basic .NETは、設備を直接高速制御するよりも、PLCや計測機器から情報を取得し、表示・保存・管理するパソコン側のソフトウェアに適しています。
主な活用例には、次のものがあります。
- 計測値・設備状態のモニター表示
- 計量設定値や品種情報の管理
- 製造実績・計量実績の保存
- 警報・操作履歴の記録
- CSVファイルの入出力
- 日報・月報・帳票の作成
- PLCや計測機器との通信
- 基幹システム・生産管理システムとの連携
設備の運転やインターロックはPLCが担当し、Visual Basic .NETで開発したパソコンソフトがデータの表示、保存、検索、帳票作成を担当する構成が一般的です。
Visual Basic .NETとVBAの使い分け
| 項目 | Visual Basic .NET | VBA |
|---|---|---|
| 主な実行環境 | Windows・.NET | ExcelなどのOfficeアプリケーション |
| 主な用途 | 独立した業務・監視システム | Office作業の自動化 |
| 画面構築 | 専用の操作画面を構築できる | Excelシートや簡易フォームを使用 |
| データ量 | 比較的大規模な処理に対応しやすい | 小規模・部門内の処理に適する |
| 利用条件 | アプリケーションとして配布 | 対応するOffice環境が必要 |
複数の設備と通信し、データベースへ継続的に実績を保存する場合はVisual Basic .NET、Excel帳票の作成や一時的な集計を自動化する場合はVBAというように使い分けます。
旧Visual Basicシステムの更新
Visual Basic 6.0などで開発された既存システムは、現在も設備とともに使用されている場合があります。
しかし、パソコンやOS、通信機器、データベースなどの更新により、従来どおり動作しなくなる可能性があります。
更新時には、次の項目を確認します。
- 使用しているWindowsのバージョン
- 外部ライブラリやActiveX部品
- PLC・計測機器との通信仕様
- データベースの種類とバージョン
- 帳票・プリンターの仕様
- ソースコードの有無
- 現在使用している機能と運用方法
Visual Basic 6.0とVisual Basic .NETは名称が似ていますが、開発環境や仕組みが異なります。既存プログラムをそのまま移すのではなく、現在の要求事項を整理したうえで再設計・移行することが重要です。
VBAを利用する際の注意点
VBAはExcel業務を手軽に自動化できますが、大規模なシステムや複数人が同時利用するシステムには適さない場合があります。
また、マクロを含むファイルはセキュリティ上の理由で実行を制限されることがあります。信頼できるファイルだけを使用し、マクロの配布元や保存場所を管理する必要があります。
処理が複雑化した場合や、継続的なデータ収集が必要な場合は、Visual Basic .NETやC#などで独立したアプリケーションを開発する方法を検討します。
長期運用に必要な管理
産業用ソフトウェアを長期間使用するためには、プログラムだけでなく、動作環境や接続条件も管理する必要があります。
- ソースコードと変更履歴
- Visual Studio・.NETのバージョン
- 使用する外部ライブラリ
- Windowsとデータベースのバージョン
- 通信機器・接続設定
- インストール・復旧手順
- 設定ファイルとバックアップ
パソコン故障やOS更新に備え、同じ環境を再構築できるように情報を保存します。
ハカルプラスのVisual Basic系開発
ハカルプラスでは、Windowsパソコンを使用する計測・制御システムや業務支援システムにおいて、Visual Basic系言語を活用してきました。
主な対応内容には、次のものがあります。
- 設備監視・操作ソフトウェア
- 計測値・製造実績の収集
- PLC・計測機器との通信
- データベースへの保存・検索
- 帳票・CSVファイルの出力
- Excel VBAによる集計・帳票作成
- 既存Visual Basicシステムの改修
- 旧システムの.NET環境への更新
- 基幹・生産管理システムとの連携
Visual Basicだけに限定せず、お客様の要求事項、使用機器、処理速度、動作環境、将来の保守性に応じて、C、C++、C#、Pythonなどの言語も使い分けています。
よくある質問
Q. Visual Basic .NETとは何ですか?
A. Microsoftの.NET環境で動作するプログラミング言語です。Windowsアプリケーション、データベースシステム、通信ソフトウェアなどを開発できます。
Q. Visual Basic .NETとVisual Basic 6.0は同じですか?
A. 名称や文法に共通点はありますが、実行環境やアプリケーションの仕組みが異なります。既存ソフトウェアの移行には設計変更が必要になる場合があります。
Q. VBAとは何ですか?
A. ExcelなどのMicrosoft Officeアプリケーションを自動化するためのプログラミング言語です。
Q. VBAで計測データを集計できますか?
A. CSVファイルの読込み、集計、グラフ作成、帳票出力などを自動化できます。
Q. Visual BasicでPLCや計測器と通信できますか?
A. 機器の通信仕様に対応した通信処理やライブラリを用意することで、データの読み書きが可能です。
Q. Visual Basic 6.0の既存システムを改修できますか?
A. ソースコード、使用部品、動作環境などを確認したうえで、継続利用、部分改修、.NETへの更新を検討します。
Q. Visual BasicとC#はどのように使い分けますか?
A. どちらも.NETで利用できます。既存資産、技術者の経験、使用するライブラリ、保守体制などを踏まえて選定します。
Q. ハカルプラスではVisual Basic以外にも対応できますか?
A. C、C++、C#、Pythonなど、対象機器やシステムに応じて複数の言語を使い分けています。
関連ワード
・C系プログラミング言語(C/C++/C#/Visual C++)
・Web・データ記述系技術(HTML/CSS/JSON/XML/JavaScript/PHP/Perl)
・Python
・Access
・Microsoft SQL
・Oracle
・TCP/IP系アプリケーションプロトコル(HTTP/SMTP/FTP/TFTP/NTP)