VB6(Visual Basic 6.0)からVB.NETへの変換(移行)について教えてほしいという相談が、VB6(Visual Basic 6.0)のレガシーシステムを利用している企業様より弊社によせられることがここ数年非常に多くなりました。

背景には、デジタル人材が不足していることの対策として東京都でも実践されているリスキリング、コロナによるリモートワークで加速した業務のDX化でVB6(Visual Basic 6.0)のレガシーシステムを現行のVB.NETへの変換(移行)ニーズ増加したことなどが考えられています。

今回は、

・VB6(Visual Basic 6.0)のレガシーシステムを利用している企業様

・VB6(Visual Basic 6.0)からVB.NETへの変換(移行)を検討されている担当者

・VB6(Visual Basic 6.0)からVB.NETへの変換(移行)について

の中でも、特に、レガシーシステムやVB6(Visual Basic 6.0)のリスクやセキュリティの課題を抱えている企業様向けに、VB6(Visual Basic 6.0)からVB.NETへの変換(移行)について、ITエンジニアを150名以上抱え、多くのシステム開発に25年以上携わりながらISO9001を取得している弊社の開発本部 佐藤が解説いたします!

弊社の紹介は、企業情報ページをご確認ください。

VB6(Visual Basic 6.0)とは?

Visual Basic 6.0(VB6)とは、Microsoftが開発・提供しているプログラミング言語です。
プログラム開発用ソフトの商品名で、「初心者に向け」、「プログラムが簡単作れる」、「直感でプログラム可能」という強みがある商品です。
1991年に初めてVisual Basic 1.0(VB1)が発表され、 1998年にVisual Basic 6.0(VB6)登場した後、新しいバージョンは開発されていません。
Visual Basic 6.0(VB6)は多くの基幹システムなどで使われてきました。

VB6(Visual Basic 6.0)とは?

VB6 (Visual Basic 6.0)いつまで使える?サポート期間は?

Visual Basic 6.0(VB6)の統合開発環境(IDE)のサポート期間は、2008年4月8日で終了しています。
Visual Basic 6.0(VB6)はWindowsXPにて多くのシステムユーザーに使用していただいていましたが、WindowsXPのサポートも2014年4月19日で終了しています。

VB6 (Visual Basic 6.0)の変換(移行)とは?

VB6 (Visual Basic 6.0)の変換(移行)とは?

後継のプログラミング言語はVB.NETになります。
Visual Basic 2019(VB16)が最新のバージョンになり移行・変換先はこのVB.NETで対応する事が一般的です。
しかし、VB6 (Visual Basic 6.0)とは言語の仕様に多くの変更点があり、VB6 (Visual Basic 6.0)やそれ以前のVBとの直接的な互換性はありません。

VB6 (Visual Basic 6.0)で構築されたレガシーシステムの継続使用リスク

VB6 (Visual Basic 6.0)で構築されたシステムは多くのリスクがある為、再構築を推奨いたします。

開発環境のリスク

すでにVB6 (Visual Basic 6.0)のマクロソフトでの延長期間が終了している事やWindowsXPのサポートも終了している事から、システムの障害対応や仕様の変更、機能追加などの実行が困難な事やセキュリティリスクだけでなく、開発技術者が減りシステムを継続で利用する場合、保守対応が困難であり費用も割高の為コストのリスクも伴います。
更に、VB6 (Visual Basic 6.0)の開発ツールとして提供されていた各種サードパーティも同時にサポートが終了していっています。

実行環境のリスク

マイクロソフト側でWindows7~10でのランタイムのサポートは現状ありますが、いつまでサポートが継続されるかは未定の為、実行環境でもリスクを伴います。
他にもセキュリティパッチの適用によって動かない、ユーザ権限が厳密になり、ファイルアクセス不可となり動かない、ActiveXコントロールが、Windows 7以降では動作保証されていないケースがあるなど、実行できなくなるリスクを伴います。

VB6 (Visual Basic 6.0)変換(移行)は難しい?

VB6 (Visual Basic 6.0)変換(移行)は難しい?

VB.NETへの移行・変換は直接的な互換性がないため、VB.NETフリー版の最新Visual Studioでコンパイルは可能ですが、 100%自動変換できない場合があり、その場合は手作業での修正が必要になります。
その為、VB6 から VB NET へ移行できない人たちは、VB6からVB.NETへ移行・変換の経験のあるエンジニアの技術力を借りるしか方法はありません。

VB6(Visual Basic 6.0)からVB NETへの変換(移行)の一般的な流れ

実際は、言語仕様が大幅に変更になったためVB.NETへの変換(移行)作業が難しく、新たに要件定義 ・設計・開発・テスト・導入準備…といった 開発工程を行う必要があります
同じシステムを構築 するだけにしては 既存の資産を生かせず、工期・コストがかかりすぎます。また、安易なWeb化により、せっかくの使い勝手の良いユーザインターフェイスを失ってしまう可能性もあります。

VB6(Visual Basic 6.0)からVB.NETへ新規構築の流れ

VB6(Visual Basic 6.0)からVB.NETへ新規構築の場合、基本的に下記の12の工数がかかります。

VB6(Visual Basic 6.0)からVB.NETへ新規構築の流れ

VB6(Visual Basic 6.0)からVB.NETへコンバージョンの流れ

VB6(Visual Basic 6.0)からVB.NETへコンバージョンの場合、基本的に下記の7の工数がかかります。

VB6(Visual Basic 6.0)からVB.NETへコンバージョンの流れ

VB6(Visual Basic 6.0)からVB NETへの変換(移行)ツールとは?無償版(フリー)は?

VB6(Visual Basic 6.0)からVB NETへの変換(移行)ツールとは?無償版(フリー)

VB.NET の最新版Visual Basic 2019(VB16)は開発規模に応じて3つのエディションで用意されています。
その中の【Community】エディションは無償(フリー)で利用する事ができます。


VB6からVB.NETへ移行・変換の経験のあるエンジニアさんは開発規模にもよりますが無償で利用する事が可能です。

上記でも記載しましたが、100%自動変換できない場合がある事や、経験のあるエンジニアがいない場合、中規模、大規模の開発規模になる場合は大きく費用が掛かってくる為、弊社のようなコストを抑えてVB6からVB.NETへ移行・変換の出来る、VBリメイク工房のようなサービスを利用する事をおススメします。

弊社のVBリメイク工房は、Microsoft変換ツール+成長型の独自開発のコンバートツール+エンジニアの手作業で変換を行う為、VB6からVB.NETへ移行・変換した際も操作方法を変えずに、短期間・低コストで移行できるサービスになります。

【まとめ】VB6(Visual Basic 6.0)からVB.NETへの変換(移行)について

いかがでしたでしょうか?

VB6(Visual Basic 6.0)のレガシーシステムを利用している企業は、VB6(Visual Basic 6.0)のサポート期間が、2008年4月8日で終了、WindowsXPのサポートも2014年4月19日で終了しています。
その為、実行環境のリスクや開発環境のリスクが想定される為、再構築するかVB6(Visual Basic 6.0)のままで継続使用するかお悩みの方も多いのではないでしょうか?
弊社では、WindowsXPのサポート終了VB6(Visual Basic 6.0)資産・レガシーシステムをVB.NETへの変換(移行)を短期間・低コストでご提供しておりますのでお気軽にご相談下さい。
以上、VB6(Visual Basic 6.0)からVB.NETへの変換(移行)についてでした。